Details

Time bar (total: 11.0s)

analyze103.0ms (0.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%50%0.1%0%50%0%2
0%0%50%0.1%0%50%0%3
0%0%50%0.1%0%50%0%4
0%0%50%0.1%0%50%0%5
16.7%6.2%31.2%0.1%0%62.4%0%6
25%9.4%28.1%0.1%0%62.4%0%7
45%14%17.2%0.1%0%68.7%0%8
47.5%14.8%16.4%0.1%0%68.7%0%9
63.4%17.6%10.1%0.1%0.4%71.8%0%10
66.4%18.1%9.2%0.1%0.8%71.8%0%11
78.2%19.6%5.5%0.1%1.5%73.4%0%12
Compiler

Compiled 23 to 20 computations (13% saved)

sample3.1s (27.8%)

Results
2.6s8256×body256valid
250.0ms573×body256invalid
209.0ms600×body256infinite
Bogosity

preprocess370.0ms (3.4%)

Algorithm
egg-herbie
Rules
2198×fma-neg_binary64
692×fma-def_binary64
350×unsub-neg_binary64
301×sub-neg_binary64
270×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02248
15242
214238
340238
4101838
5191138
6288838
7421938
8539738
9601338
10615838
11616938
12617338
13635938
14641638
15641638
16641638
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
(*.f64 (-.f64 rand (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 rand (/.f64 1 3))))) a)))
Outputs
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
(*.f64 (+.f64 a -1/3) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 (+.f64 a -1/3) 9))) rand)))
(*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (+.f64 (*.f64 a 9) -3)))))
(*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
(*.f64 (-.f64 rand (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 rand (/.f64 1 3))))) a)))
(*.f64 (+.f64 rand -1/3) (+.f64 1 (*.f64 a (/.f64 1 (sqrt.f64 (*.f64 9 (+.f64 rand -1/3)))))))
(*.f64 (+.f64 rand -1/3) (+.f64 1 (/.f64 a (sqrt.f64 (+.f64 (*.f64 rand 9) -3)))))
(*.f64 (+.f64 rand -1/3) (+.f64 1 (/.f64 a (sqrt.f64 (fma.f64 9 rand -3)))))
(*.f64 (-.f64 rand 1/3) (+.f64 1 (/.f64 a (sqrt.f64 (fma.f64 9 rand -3)))))
Compiler

Compiled 24 to 21 computations (12.5% saved)

simplify210.0ms (1.9%)

Algorithm
egg-herbie
Rules
1035×fma-def_binary64
742×fma-neg_binary64
189×distribute-rgt-in_binary64
173×cancel-sign-sub-inv_binary64
157×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13221
28219
320319
451019
596819
6146819
7241919
8361919
9410019
10425619
11429519
12429519
13484819
14484819
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
Outputs
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
(*.f64 (+.f64 a -1/3) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 (+.f64 a -1/3) 9))) rand)))
(*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (+.f64 (*.f64 a 9) -3)))))
(*.f64 (+.f64 a -1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))

eval1.0ms (0%)

Compiler

Compiled 35 to 29 computations (17.1% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
Compiler

Compiled 37 to 31 computations (16.2% saved)

localize46.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a 9 -3)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
0.1b
(sqrt.f64 (fma.f64 a 9 -3))
0.2b
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
Compiler

Compiled 49 to 37 computations (24.5% saved)

series25.0ms (0.2%)

Counts
4 → 50
Calls

18 calls:

TimeVariablePointExpression
3.0ms
a
@0
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
3.0ms
a
@-inf
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
2.0ms
rand
@0
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
2.0ms
a
@inf
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
2.0ms
a
@0
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))

rewrite136.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
588×log-prod_binary64
492×prod-diff_binary64
350×fma-def_binary64
240×pow1/3_binary64
237×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01341
128740
2374740
Stop Event
node limit
Counts
4 → 196
Calls
Call 1
Inputs
(/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))
(sqrt.f64 (fma.f64 a 9 -3))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
(fma.f64 a 9 -3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (cbrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 rand) 2) (*.f64 (cbrt.f64 rand) (pow.f64 (fma.f64 a 9 -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 rand) (*.f64 (sqrt.f64 rand) (pow.f64 (fma.f64 a 9 -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 rand) (/.f64 1 (neg.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) rand)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 rand) 2) 1) (/.f64 (cbrt.f64 rand) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 rand) 1) (/.f64 (sqrt.f64 rand) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 a 9 -3))) (/.f64 rand (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 rand) 2) (cbrt.f64 (fma.f64 a 9 -3))) (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 rand) (cbrt.f64 (fma.f64 a 9 -3))) (/.f64 (sqrt.f64 rand) (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (fma.f64 a 9 -3) 1/4)) (/.f64 rand (pow.f64 (fma.f64 a 9 -3) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 rand) 2) (pow.f64 (fma.f64 a 9 -3) 1/4)) (/.f64 (cbrt.f64 rand) (pow.f64 (fma.f64 a 9 -3) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (fma.f64 a 9 -3)) rand) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (fma.f64 a 9 -3)) rand) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 rand (neg.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (pow.f64 (cbrt.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) 2) (cbrt.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (sqrt.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3)) (/.f64 1 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (/.f64 1 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a 9 -3)))) (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a 9 -3)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a 9 -3))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 a 9 -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a 9 -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a 9 -3)) (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3))) (cbrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) (pow.f64 (fma.f64 a 9 -3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a 9 -3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a 9 -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a 9 -3) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a 9 -3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a 9 -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (*.f64 -1/3 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) a) (*.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 a (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3))) (*.f64 (+.f64 a 1/3) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3)))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3)))) (*.f64 (+.f64 a 1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3)) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3)) (fma.f64 a a -1/9)) (*.f64 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (fma.f64 a a -1/9)) (*.f64 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 3)) (+.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (*.f64 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 a -1/3) 2) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))) (-.f64 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3)) (+.f64 a -1/3)) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) 3))) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3)))) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) 3) (pow.f64 (+.f64 a -1/3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 a -1/3))) (exp.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (exp.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 1 (expm1.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) 3) (pow.f64 (+.f64 a -1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (log.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (log.f64 (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) (*.f64 -1/3 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (+.f64 a -1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) a (*.f64 (fma.f64 rand (pow.f64 (fma.f64 a 9 -3) -1/2) 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3))) (*.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (cbrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3))))) (cbrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (sqrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (sqrt.f64 (+.f64 a -1/3))) (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (sqrt.f64 (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) rand) (pow.f64 (fma.f64 a 9 -3) -1/2) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2)) (cbrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))) (sqrt.f64 (+.f64 a -1/3))) (sqrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (cbrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 a 9 -3)))) (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a -1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -3 (*.f64 a 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a 9 -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a 9) -3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a 9) 1) -3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 a 9 -3))) (cbrt.f64 (exp.f64 (fma.f64 a 9 -3))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a 9 -3)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a 9 -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a 9 -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a 9 -3)) (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a 9 -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a 9 -3)) (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a 9 -3)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3))) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2) (cbrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) (*.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 a 9 -3) 1/4) 3) (pow.f64 (fma.f64 a 9 -3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 a 9 -3)) (cbrt.f64 (fma.f64 a 9 -3))) (cbrt.f64 (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a 9) 3) -27) (fma.f64 (*.f64 a 9) (*.f64 a 9) (-.f64 9 (*.f64 (*.f64 a 9) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 a 9) (*.f64 a 9) -9) (fma.f64 a 9 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a 9 -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a 9 -3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a 9 -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a 9 -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a 9 -3)) 1))))))

simplify82.0ms (0.7%)

Algorithm
egg-herbie
Rules
499×distribute-rgt-in_binary64
497×distribute-lft-in_binary64
449×associate-/r/_binary64
408×fma-def_binary64
380×+-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
090969
1277935
2940906
34280787
47819787
Stop Event
node limit
Counts
246 → 231
Calls
Call 1
Inputs
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 -1/3))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 3) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (sqrt.f64 -1/3))))))
(sqrt.f64 -3)
(+.f64 (*.f64 9/2 (/.f64 a (sqrt.f64 -3))) (sqrt.f64 -3))
(+.f64 (*.f64 -81/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -3) 3))) (+.f64 (*.f64 9/2 (/.f64 a (sqrt.f64 -3))) (sqrt.f64 -3)))
(+.f64 (*.f64 -81/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -3) 3))) (+.f64 (*.f64 729/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -3) 5))) (+.f64 (*.f64 9/2 (/.f64 a (sqrt.f64 -3))) (sqrt.f64 -3))))
(*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))
(+.f64 (*.f64 a (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))))) (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)))
(+.f64 (*.f64 a (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))))
(+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)))))
a
a
(-.f64 a 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
-3
(-.f64 (*.f64 9 a) 3)
(-.f64 (*.f64 9 a) 3)
(-.f64 (*.f64 9 a) 3)
(*.f64 9 a)
(-.f64 (*.f64 9 a) 3)
(-.f64 (*.f64 9 a) 3)
(-.f64 (*.f64 9 a) 3)
(*.f64 9 a)
(-.f64 (*.f64 9 a) 3)
(-.f64 (*.f64 9 a) 3)
(-.f64 (*.f64 9 a) 3)
Outputs
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 -1/3))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 -1/2 (/.f64 (*.f64 rand a) (sqrt.f64 -1/3)) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 -1/2 (*.f64 (/.f64 a (sqrt.f64 -1/3)) rand)))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 -1/2 (*.f64 rand (/.f64 a (sqrt.f64 -1/3)))))
(*.f64 rand (+.f64 (sqrt.f64 -1/3) (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3))))
(fma.f64 -1/2 (/.f64 (*.f64 rand a) (sqrt.f64 -1/3)) (fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 rand (*.f64 a a)))) (*.f64 rand (sqrt.f64 -1/3))))
(fma.f64 -1/2 (*.f64 (/.f64 a (sqrt.f64 -1/3)) rand) (fma.f64 rand (sqrt.f64 -1/3) (/.f64 (*.f64 -1/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))) (/.f64 (sqrt.f64 -1/3) (*.f64 rand (*.f64 a a))))))
(fma.f64 -1/2 (fma.f64 (/.f64 a (sqrt.f64 -1/3)) rand (*.f64 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 (*.f64 a (*.f64 (*.f64 rand a) 9/4)) (*.f64 rand a))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 3) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (sqrt.f64 -1/3))))))
(fma.f64 -1/2 (/.f64 (*.f64 rand a) (sqrt.f64 -1/3)) (fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 rand (*.f64 a a)))) (fma.f64 rand (sqrt.f64 -1/3) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 (pow.f64 a 3) rand) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))))))
(fma.f64 -1/2 (*.f64 (/.f64 a (sqrt.f64 -1/3)) rand) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 rand (*.f64 a a))) (fma.f64 rand (sqrt.f64 -1/3) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 a 3) (sqrt.f64 -1/3)) (*.f64 rand (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9)))))))
(fma.f64 -1/2 (fma.f64 (/.f64 a (sqrt.f64 -1/3)) rand (*.f64 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))) (fma.f64 rand (sqrt.f64 -1/3) (*.f64 (/.f64 (*.f64 -1/2 (pow.f64 a 3)) (/.f64 (sqrt.f64 -1/3) rand)) (+.f64 9 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))))))
(+.f64 (*.f64 rand (+.f64 (sqrt.f64 -1/3) (*.f64 (/.f64 -9/8 (sqrt.f64 -1/3)) (*.f64 a a)))) (*.f64 -1/2 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 (pow.f64 a 3) 45/8) a))))
(sqrt.f64 -3)
(+.f64 (*.f64 9/2 (/.f64 a (sqrt.f64 -3))) (sqrt.f64 -3))
(fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (sqrt.f64 -3))
(+.f64 (*.f64 -81/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -3) 3))) (+.f64 (*.f64 9/2 (/.f64 a (sqrt.f64 -3))) (sqrt.f64 -3)))
(fma.f64 -81/8 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -3) 3)) (fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (sqrt.f64 -3)))
(+.f64 (fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (sqrt.f64 -3)) (*.f64 27/8 (/.f64 (*.f64 a a) (sqrt.f64 -3))))
(fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 27/8 (/.f64 (*.f64 a a) (sqrt.f64 -3)) (sqrt.f64 -3)))
(+.f64 (sqrt.f64 -3) (*.f64 (/.f64 a (sqrt.f64 -3)) (+.f64 9/2 (*.f64 (*.f64 -1/3 a) -81/8))))
(+.f64 (*.f64 -81/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -3) 3))) (+.f64 (*.f64 729/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -3) 5))) (+.f64 (*.f64 9/2 (/.f64 a (sqrt.f64 -3))) (sqrt.f64 -3))))
(fma.f64 -81/8 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -3) 3)) (fma.f64 729/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -3) 5)) (fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (sqrt.f64 -3))))
(+.f64 (*.f64 27/8 (/.f64 (*.f64 a a) (sqrt.f64 -3))) (fma.f64 729/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -3) 5)) (fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (sqrt.f64 -3))))
(fma.f64 729/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -3) 5)) (fma.f64 9/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 27/8 (/.f64 (*.f64 a a) (sqrt.f64 -3)) (sqrt.f64 -3))))
(+.f64 (*.f64 (/.f64 a (sqrt.f64 -3)) (+.f64 9/2 (*.f64 (*.f64 -1/3 a) -81/8))) (fma.f64 729/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -3) 5)) (sqrt.f64 -3)))
(*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))
(*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1))
(fma.f64 rand (*.f64 -1/3 (sqrt.f64 -1/3)) -1/3)
(+.f64 (*.f64 a (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))))) (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)))
(fma.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1)))
(fma.f64 a (+.f64 1 (fma.f64 rand (sqrt.f64 -1/3) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1)))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (/.f64 rand (/.f64 (sqrt.f64 -1/3) 1/6))) a))
(+.f64 (*.f64 a (/.f64 rand (/.f64 (sqrt.f64 -1/3) 1/6))) (*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (+.f64 a -1/3)))
(+.f64 (*.f64 a (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))))
(fma.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))) (fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1))))
(fma.f64 a (+.f64 1 (fma.f64 rand (sqrt.f64 -1/3) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)))))))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 a (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))))))))
(fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 3/8 (sqrt.f64 -1/3)) (/.f64 -1/2 (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (/.f64 rand (/.f64 (sqrt.f64 -1/3) 1/6))) (*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (+.f64 a -1/3))))
(+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)))))
(fma.f64 (pow.f64 a 3) (fma.f64 1/6 (/.f64 rand (/.f64 (sqrt.f64 -1/3) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (*.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)))) (fma.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))) (fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1)))))
(fma.f64 (pow.f64 a 3) (fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 1/6 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9)))) (fma.f64 a (+.f64 1 (fma.f64 rand (sqrt.f64 -1/3) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand))))))))
(fma.f64 (pow.f64 a 3) (fma.f64 -1/2 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))) (*.f64 (/.f64 rand (/.f64 (sqrt.f64 -1/3) 1/6)) (+.f64 9 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))))) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 a (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))))))))))
(fma.f64 (pow.f64 a 3) (+.f64 (*.f64 (/.f64 15/16 (sqrt.f64 -1/3)) rand) (*.f64 (/.f64 -9/8 (sqrt.f64 -1/3)) rand)) (fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 3/8 (sqrt.f64 -1/3)) (/.f64 -1/2 (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (/.f64 rand (/.f64 (sqrt.f64 -1/3) 1/6))) (*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (+.f64 a -1/3)))))
a
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)))
(*.f64 rand (*.f64 (+.f64 a -1/3) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (-.f64 a 1/3)))
(*.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (+.f64 a -1/3)))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)))
(*.f64 rand (*.f64 (+.f64 a -1/3) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))
(*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (-.f64 a 1/3)))
(*.f64 rand (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (+.f64 a -1/3)))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3))) 1/3))
(+.f64 a (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 rand (+.f64 a -1/3)) -1/3))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) 1) (-.f64 a 1/3))
(*.f64 (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) (+.f64 a -1/3))
-3
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(*.f64 9 a)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(*.f64 9 a)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)
(-.f64 (*.f64 9 a) 3)
(fma.f64 9 a -3)

localize38.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
0.1b
(sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))
0.2b
(/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3)))))
0.2b
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)
Compiler

Compiled 86 to 73 computations (15.1% saved)

series17.0ms (0.2%)

Counts
4 → 42
Calls

18 calls:

TimeVariablePointExpression
2.0ms
a
@inf
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)
1.0ms
a
@-inf
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)
1.0ms
a
@0
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)
1.0ms
rand
@0
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)
1.0ms
a
@-inf
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))

rewrite100.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
723×prod-diff_binary64
653×log-prod_binary64
413×fma-def_binary64
247×expm1-udef_binary64
247×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01554
130749
2392943
Stop Event
node limit
Counts
4 → 194
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)
(/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3)))))
(sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (fma.f64 9 a -3)) rand))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 rand rand)) (/.f64 (sqrt.f64 (fma.f64 9 a -3)) (cbrt.f64 rand)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 rand) (/.f64 (sqrt.f64 (fma.f64 9 a -3)) (sqrt.f64 rand)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 rand) (*.f64 -3 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 rand (pow.f64 (fma.f64 9 a -3) 1/4)) (pow.f64 (fma.f64 9 a -3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 rand 1) (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 rand (cbrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 rand) (*.f64 -3 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 rand -1) (*.f64 -3 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 2) (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (sqrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (/.f64 1 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3))) (/.f64 1 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (pow.f64 (sqrt.f64 (+.f64 a -1/3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (cbrt.f64 (/.f64 1 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (fma.f64 9 a -3))) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 -3 (sqrt.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 9 a -3)) -1) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 9 a -3) 1/4) -1) (pow.f64 (pow.f64 (fma.f64 9 a -3) 1/4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 9 a -3) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 9 a -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (fma.f64 9 a -3) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 9 a -3))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (fma.f64 9 a -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 9 a -3)))) (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 9 a -3)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 9 a -3))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 9 a -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 9 a -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 9 a -3)) (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a -1/3)) (pow.f64 9 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9 a -3) 1/4) (pow.f64 (fma.f64 9 a -3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 9 1/2) (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) 2)) 1/2) (pow.f64 (cbrt.f64 (fma.f64 9 a -3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 3 (/.f64 1 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 9 a -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (fma.f64 9 a -3)) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 9 a -3) 1/4) (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3 (sqrt.f64 (+.f64 a -1/3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 9 a -3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 9 a -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9 a -3) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 9 a -3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9 a -3) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 9 a -3) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 9 a -3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 9 a -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (*.f64 -1/3 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) a) (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 a (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))) (*.f64 (+.f64 a 1/3) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3)))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3)))) (*.f64 (+.f64 a 1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3))) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (fma.f64 a a -1/9)) (*.f64 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3))) (fma.f64 a a -1/9)) (*.f64 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 3)) (+.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (*.f64 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 a -1/3) 2) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))) (-.f64 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (+.f64 a -1/3)) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3))) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3)))) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 a -1/3))) (exp.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (exp.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 1 (expm1.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3) (pow.f64 (+.f64 a -1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (log.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (log.f64 (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (*.f64 -1/3 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (*.f64 rand (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) a (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3))) (*.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (+.f64 -1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (neg.f64 (-.f64 1/3 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (*.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (cbrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (sqrt.f64 (/.f64 (*.f64 rand (+.f64 a -1/3)) (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (sqrt.f64 (+.f64 a -1/3))) (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (sqrt.f64 (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) rand) (pow.f64 (fma.f64 9 a -3) -1/2) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2)) (cbrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (sqrt.f64 (+.f64 a -1/3))) (sqrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (pow.f64 (fma.f64 9 a -3) -1/2)) rand (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (cbrt.f64 (/.f64 (*.f64 rand rand) (fma.f64 9 a -3)))) (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))))

simplify62.0ms (0.6%)

Algorithm
egg-herbie
Rules
851×associate-/r*_binary64
463×distribute-rgt-in_binary64
461×distribute-lft-in_binary64
460×fma-def_binary64
441×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01111032
1314999
2993983
34344799
Stop Event
node limit
Counts
236 → 234
Calls
Call 1
Inputs
(*.f64 1/3 (*.f64 rand (sqrt.f64 -3)))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (*.f64 -3/2 (/.f64 (*.f64 a rand) (sqrt.f64 -3))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 a rand) (sqrt.f64 -3))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -3)))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (*.f64 (pow.f64 a 3) rand)) (sqrt.f64 -3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 a rand) (sqrt.f64 -3))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -3))))))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (sqrt.f64 -3))
(+.f64 (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))) (*.f64 1/3 (sqrt.f64 -3)))
(+.f64 (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 a 2)) (sqrt.f64 -3))) (*.f64 1/3 (sqrt.f64 -3))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (pow.f64 a 3)) (sqrt.f64 -3))) (+.f64 (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 a 2)) (sqrt.f64 -3))) (*.f64 1/3 (sqrt.f64 -3)))))
(*.f64 3 (sqrt.f64 -1/3))
(+.f64 (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 3 (sqrt.f64 -1/3)))
(+.f64 (*.f64 -3/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 3 (sqrt.f64 -1/3))))
(+.f64 (*.f64 -3/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 3/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5))) (+.f64 (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 3 (sqrt.f64 -1/3)))))
(*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1))
(+.f64 (*.f64 a (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 1 (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))))) (*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1)))
(+.f64 (*.f64 a (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 1 (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))))) (+.f64 (*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1)) (*.f64 (+.f64 (*.f64 -3/2 (/.f64 rand (sqrt.f64 -3))) (*.f64 1/18 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) rand) (sqrt.f64 -3)))) (pow.f64 a 2))))
(+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/18 (/.f64 (*.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) rand) (sqrt.f64 -3))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) rand) (sqrt.f64 -3))))) (+.f64 (*.f64 a (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 1 (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))))) (+.f64 (*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1)) (*.f64 (+.f64 (*.f64 -3/2 (/.f64 rand (sqrt.f64 -3))) (*.f64 1/18 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) rand) (sqrt.f64 -3)))) (pow.f64 a 2)))))
a
a
(-.f64 a 1/3)
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
Outputs
(*.f64 1/3 (*.f64 rand (sqrt.f64 -3)))
(*.f64 (*.f64 1/3 rand) (sqrt.f64 -3))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (*.f64 -3/2 (/.f64 (*.f64 a rand) (sqrt.f64 -3))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (*.f64 -3/2 (/.f64 (*.f64 rand a) (sqrt.f64 -3))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (*.f64 -3/2 (/.f64 rand (/.f64 (sqrt.f64 -3) a))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (*.f64 (/.f64 a (sqrt.f64 -3)) (*.f64 rand -3/2)))
(*.f64 rand (fma.f64 1/3 (sqrt.f64 -3) (*.f64 -3/2 (/.f64 a (sqrt.f64 -3)))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 a rand) (sqrt.f64 -3))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -3)))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 -3/2 (/.f64 (*.f64 rand a) (sqrt.f64 -3)) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 rand (*.f64 a a)))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 -3/2 (/.f64 rand (/.f64 (sqrt.f64 -3) a)) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 rand (*.f64 a a)))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 -3/2 (*.f64 rand (/.f64 a (sqrt.f64 -3))) (*.f64 a (*.f64 a (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (/.f64 (sqrt.f64 -3) rand) -1/6))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (*.f64 rand (*.f64 a (+.f64 (/.f64 -3/2 (sqrt.f64 -3)) (*.f64 (/.f64 -27/8 (sqrt.f64 -3)) a)))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (*.f64 (pow.f64 a 3) rand)) (sqrt.f64 -3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 a rand) (sqrt.f64 -3))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -3))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 -1/6 (/.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (/.f64 (sqrt.f64 -3) (*.f64 rand (pow.f64 a 3)))) (fma.f64 -3/2 (/.f64 (*.f64 rand a) (sqrt.f64 -3)) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 rand (*.f64 a a))))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 -1/6 (*.f64 (/.f64 (fma.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) -3) 81) (sqrt.f64 -3)) (*.f64 rand (pow.f64 a 3))) (fma.f64 -3/2 (/.f64 rand (/.f64 (sqrt.f64 -3) a)) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 rand (*.f64 a a))))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 -3/2 (*.f64 rand (/.f64 a (sqrt.f64 -3))) (*.f64 -1/6 (+.f64 (*.f64 (*.f64 (/.f64 rand (sqrt.f64 -3)) (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2))) (*.f64 a a)) (*.f64 (pow.f64 a 3) (*.f64 rand (/.f64 (+.f64 81 (*.f64 -3/2 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)))) (sqrt.f64 -3))))))))
(+.f64 (*.f64 rand (fma.f64 1/3 (sqrt.f64 -3) (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))))) (*.f64 rand (*.f64 (*.f64 a a) (+.f64 (*.f64 (/.f64 -135/16 (sqrt.f64 -3)) a) (/.f64 -27/8 (sqrt.f64 -3))))))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 (-.f64 a 1/3))) rand))
(*.f64 1/3 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 a -1/3)))))
(*.f64 (sqrt.f64 (/.f64 1 (+.f64 a -1/3))) (*.f64 1/3 rand))
(*.f64 1/3 (sqrt.f64 -3))
(+.f64 (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))) (*.f64 1/3 (sqrt.f64 -3)))
(fma.f64 -3/2 (/.f64 a (sqrt.f64 -3)) (*.f64 1/3 (sqrt.f64 -3)))
(fma.f64 1/3 (sqrt.f64 -3) (/.f64 (*.f64 -3/2 a) (sqrt.f64 -3)))
(fma.f64 1/3 (sqrt.f64 -3) (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))))
(+.f64 (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 a 2)) (sqrt.f64 -3))) (*.f64 1/3 (sqrt.f64 -3))))
(fma.f64 -3/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 a a))) (*.f64 1/3 (sqrt.f64 -3))))
(fma.f64 -3/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 1/3 (sqrt.f64 -3) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 a a))))))
(fma.f64 1/3 (sqrt.f64 -3) (fma.f64 -1/6 (*.f64 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) a)) a) (*.f64 -3/2 (/.f64 a (sqrt.f64 -3)))))
(fma.f64 1/3 (sqrt.f64 -3) (*.f64 a (+.f64 (/.f64 -3/2 (sqrt.f64 -3)) (*.f64 (/.f64 -27/8 (sqrt.f64 -3)) a))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (pow.f64 a 3)) (sqrt.f64 -3))) (+.f64 (*.f64 -3/2 (/.f64 a (sqrt.f64 -3))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 a 2)) (sqrt.f64 -3))) (*.f64 1/3 (sqrt.f64 -3)))))
(fma.f64 -1/6 (/.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (/.f64 (sqrt.f64 -3) (pow.f64 a 3))) (fma.f64 -3/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 a a))) (*.f64 1/3 (sqrt.f64 -3)))))
(fma.f64 -1/6 (*.f64 (/.f64 (fma.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) -3) 81) (sqrt.f64 -3)) (pow.f64 a 3)) (fma.f64 -3/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 1/3 (sqrt.f64 -3) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) (*.f64 a a)))))))
(fma.f64 -3/2 (/.f64 a (sqrt.f64 -3)) (fma.f64 -1/6 (*.f64 (pow.f64 a 3) (/.f64 (+.f64 81 (*.f64 -3/2 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)))) (sqrt.f64 -3))) (fma.f64 1/3 (sqrt.f64 -3) (*.f64 -1/6 (*.f64 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) a)) a)))))
(+.f64 (*.f64 (*.f64 a a) (+.f64 (*.f64 (/.f64 -135/16 (sqrt.f64 -3)) a) (/.f64 -27/8 (sqrt.f64 -3)))) (fma.f64 1/3 (sqrt.f64 -3) (*.f64 -3/2 (/.f64 a (sqrt.f64 -3)))))
(*.f64 3 (sqrt.f64 -1/3))
(+.f64 (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 3 (sqrt.f64 -1/3)))
(fma.f64 3/2 (/.f64 a (sqrt.f64 -1/3)) (*.f64 3 (sqrt.f64 -1/3)))
(fma.f64 3 (sqrt.f64 -1/3) (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))))
(fma.f64 3 (sqrt.f64 -1/3) (/.f64 a (/.f64 (sqrt.f64 -1/3) 3/2)))
(fma.f64 3 (sqrt.f64 -1/3) (*.f64 (/.f64 3/2 (sqrt.f64 -1/3)) a))
(+.f64 (*.f64 -3/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 3 (sqrt.f64 -1/3))))
(fma.f64 -3/8 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1/3) 3)) (fma.f64 3/2 (/.f64 a (sqrt.f64 -1/3)) (*.f64 3 (sqrt.f64 -1/3))))
(+.f64 (fma.f64 3 (sqrt.f64 -1/3) (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3)))) (*.f64 9/8 (/.f64 (*.f64 a a) (sqrt.f64 -1/3))))
(fma.f64 9/8 (/.f64 a (/.f64 (sqrt.f64 -1/3) a)) (fma.f64 3 (sqrt.f64 -1/3) (/.f64 a (/.f64 (sqrt.f64 -1/3) 3/2))))
(fma.f64 3 (sqrt.f64 -1/3) (*.f64 (/.f64 a (sqrt.f64 -1/3)) (+.f64 3/2 (/.f64 (*.f64 a -3/8) -1/3))))
(+.f64 (*.f64 -3/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 3/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5))) (+.f64 (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 3 (sqrt.f64 -1/3)))))
(fma.f64 -3/8 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1/3) 3)) (fma.f64 3/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (fma.f64 3/2 (/.f64 a (sqrt.f64 -1/3)) (*.f64 3 (sqrt.f64 -1/3)))))
(+.f64 (*.f64 9/8 (/.f64 (*.f64 a a) (sqrt.f64 -1/3))) (fma.f64 3/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (fma.f64 3 (sqrt.f64 -1/3) (*.f64 3/2 (/.f64 a (sqrt.f64 -1/3))))))
(fma.f64 3/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (fma.f64 9/8 (/.f64 a (/.f64 (sqrt.f64 -1/3) a)) (fma.f64 3 (sqrt.f64 -1/3) (/.f64 a (/.f64 (sqrt.f64 -1/3) 3/2)))))
(fma.f64 3/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (fma.f64 3 (sqrt.f64 -1/3) (*.f64 (/.f64 a (sqrt.f64 -1/3)) (+.f64 3/2 (/.f64 (*.f64 a -3/8) -1/3)))))
(*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1))
(*.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1))
(+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -3)) -1/9))
(fma.f64 (*.f64 rand (sqrt.f64 -3)) -1/9 -1/3)
(fma.f64 (*.f64 -1/9 rand) (sqrt.f64 -3) -1/3)
(+.f64 (*.f64 a (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 1 (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))))) (*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1)))
(fma.f64 a (+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1) (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))) (*.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1)))
(fma.f64 a (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 1/2 (/.f64 rand (sqrt.f64 -3)) 1)) (+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -3)) -1/9)))
(fma.f64 a (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 1/2 (/.f64 rand (sqrt.f64 -3)) 1)) (fma.f64 (*.f64 rand (sqrt.f64 -3)) -1/9 -1/3))
(+.f64 (*.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 -3)) 1) (+.f64 a -1/3)) (*.f64 a (*.f64 (/.f64 1/2 (sqrt.f64 -3)) rand)))
(+.f64 (*.f64 a (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 1 (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))))) (+.f64 (*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1)) (*.f64 (+.f64 (*.f64 -3/2 (/.f64 rand (sqrt.f64 -3))) (*.f64 1/18 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) rand) (sqrt.f64 -3)))) (pow.f64 a 2))))
(fma.f64 a (+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1) (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))) (fma.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1) (*.f64 (*.f64 a a) (fma.f64 -3/2 (/.f64 rand (sqrt.f64 -3)) (*.f64 1/18 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) rand)))))))
(fma.f64 a (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 1/2 (/.f64 rand (sqrt.f64 -3)) 1)) (fma.f64 (*.f64 a a) (fma.f64 -3/2 (/.f64 rand (sqrt.f64 -3)) (*.f64 1/18 (*.f64 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (sqrt.f64 -3)) rand))) (+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -3)) -1/9))))
(fma.f64 a (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 1/2 (/.f64 rand (sqrt.f64 -3)) 1)) (fma.f64 (*.f64 a a) (fma.f64 -3/2 (/.f64 rand (sqrt.f64 -3)) (*.f64 1/18 (*.f64 (/.f64 rand (sqrt.f64 -3)) (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2))))) (fma.f64 (*.f64 rand (sqrt.f64 -3)) -1/9 -1/3)))
(fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 -3/2 (sqrt.f64 -3)) (/.f64 9/8 (sqrt.f64 -3))))) (+.f64 (*.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 -3)) 1) (+.f64 a -1/3)) (*.f64 a (*.f64 (/.f64 1/2 (sqrt.f64 -3)) rand))))
(+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/18 (/.f64 (*.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) rand) (sqrt.f64 -3))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) rand) (sqrt.f64 -3))))) (+.f64 (*.f64 a (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) (+.f64 1 (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))))) (+.f64 (*.f64 -1/3 (+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -3))) 1)) (*.f64 (+.f64 (*.f64 -3/2 (/.f64 rand (sqrt.f64 -3))) (*.f64 1/18 (/.f64 (*.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) rand) (sqrt.f64 -3)))) (pow.f64 a 2)))))
(fma.f64 (pow.f64 a 3) (fma.f64 1/18 (/.f64 (+.f64 81 (*.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (pow.f64 (sqrt.f64 -3) 2)))) (/.f64 (sqrt.f64 -3) rand)) (*.f64 -1/6 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) rand)))) (fma.f64 a (+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1) (*.f64 1/2 (/.f64 rand (sqrt.f64 -3)))) (fma.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) 1) (*.f64 (*.f64 a a) (fma.f64 -3/2 (/.f64 rand (sqrt.f64 -3)) (*.f64 1/18 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (/.f64 (sqrt.f64 -3) rand))))))))
(fma.f64 (pow.f64 a 3) (fma.f64 -1/6 (*.f64 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (sqrt.f64 -3)) rand) (*.f64 1/18 (*.f64 (/.f64 (fma.f64 9/2 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) -3) 81) (sqrt.f64 -3)) rand))) (fma.f64 a (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 1/2 (/.f64 rand (sqrt.f64 -3)) 1)) (fma.f64 (*.f64 a a) (fma.f64 -3/2 (/.f64 rand (sqrt.f64 -3)) (*.f64 1/18 (*.f64 (/.f64 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)) (sqrt.f64 -3)) rand))) (+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -3)) -1/9)))))
(fma.f64 a (fma.f64 1/3 (*.f64 rand (sqrt.f64 -3)) (fma.f64 1/2 (/.f64 rand (sqrt.f64 -3)) 1)) (fma.f64 (pow.f64 a 3) (fma.f64 -1/6 (*.f64 (/.f64 rand (sqrt.f64 -3)) (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2))) (*.f64 1/18 (*.f64 rand (/.f64 (+.f64 81 (*.f64 -3/2 (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2)))) (sqrt.f64 -3))))) (fma.f64 (*.f64 a a) (fma.f64 -3/2 (/.f64 rand (sqrt.f64 -3)) (*.f64 1/18 (*.f64 (/.f64 rand (sqrt.f64 -3)) (+.f64 27 (pow.f64 (/.f64 -9/2 (sqrt.f64 -3)) 2))))) (fma.f64 (*.f64 rand (sqrt.f64 -3)) -1/9 -1/3))))
(fma.f64 (pow.f64 a 3) (*.f64 rand (+.f64 (/.f64 45/16 (sqrt.f64 -3)) (/.f64 -27/8 (sqrt.f64 -3)))) (fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 -3/2 (sqrt.f64 -3)) (/.f64 9/8 (sqrt.f64 -3))))) (+.f64 (*.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 -3)) 1) (+.f64 a -1/3)) (*.f64 a (*.f64 (/.f64 1/2 (sqrt.f64 -3)) rand)))))
a
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 1/3 (sqrt.f64 (+.f64 a -1/3))) rand)
(*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 1/3 (sqrt.f64 (+.f64 a -1/3))) rand)
(*.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))) 1/3)
(+.f64 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a) -1/3)
(+.f64 -1/3 (fma.f64 1/3 (*.f64 rand (sqrt.f64 (+.f64 a -1/3))) a))
(fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 rand) (+.f64 a -1/3))

eval323.0ms (2.9%)

Compiler

Compiled 10261 to 8184 computations (20.2% saved)

prune114.0ms (1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New45510465
Fresh000
Picked101
Done101
Total45710467
Error
0b
Counts
467 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
49.8b
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
40.9b
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))
0.1b
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))
0.4b
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
28.4b
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
43.9b
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
19.2b
(-.f64 a 1/3)
20.4b
a
Compiler

Compiled 283 to 224 computations (20.8% saved)

localize31.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
0.1b
(sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))
0.2b
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
0.3b
(/.f64 1 (-.f64 (*.f64 9 a) 3))
Compiler

Compiled 72 to 58 computations (19.4% saved)

series15.0ms (0.1%)

Counts
4 → 38
Calls

18 calls:

TimeVariablePointExpression
4.0ms
a
@-inf
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
a
@inf
(/.f64 1 (-.f64 (*.f64 9 a) 3))
1.0ms
rand
@0
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
a
@-inf
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
1.0ms
a
@-inf
(sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))

rewrite106.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
707×log-prod_binary64
563×prod-diff_binary64
486×fma-def_binary64
278×expm1-udef_binary64
278×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01553
133844
2436544
Stop Event
node limit
Counts
4 → 184
Calls
Call 1
Inputs
(/.f64 1 (-.f64 (*.f64 9 a) 3))
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 1 (fma.f64 9 a -3)))) (cbrt.f64 (exp.f64 (/.f64 1 (fma.f64 9 a -3)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (fma.f64 9 a -3))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (fma.f64 9 a -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 9 a -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -2)) (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (*.f64 (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 9 a -3)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 9 a -3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 729 (pow.f64 a 3) -27)) (fma.f64 81 (*.f64 a a) (fma.f64 a 27 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 81 (*.f64 a a) -9)) (fma.f64 9 a 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (/.f64 1 (cbrt.f64 (fma.f64 9 a -3)))) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 9 a -3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 9 a -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9 a -3) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (fma.f64 9 a -3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 9 a -3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 9 a -3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 9 a -3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 9 a -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) (cbrt.f64 (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) 2)) (cbrt.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) (sqrt.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (/.f64 1 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2)) (/.f64 1 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -2))) (sqrt.f64 (/.f64 1 (cbrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -2)) 1/2) (pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 9 a -3))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (fma.f64 9 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (fma.f64 9 a -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 9 a -3) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 9 a -3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (fma.f64 9 a -3)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 9 a -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (fma.f64 9 a -3) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 9 a -3)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 9 a -3))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (fma.f64 9 a -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) (*.f64 -1/3 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) a) (*.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 a (-.f64 1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))) (*.f64 (+.f64 a 1/3) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2))) (*.f64 (+.f64 a 1/3) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2)) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (fma.f64 a a -1/9)) (*.f64 (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2)) (fma.f64 a a -1/9)) (*.f64 (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 3)) (+.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (*.f64 (+.f64 a -1/3) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 a -1/3) 2) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))) (-.f64 (+.f64 a -1/3) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3)) (+.f64 a -1/3)) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2)) (+.f64 a -1/3)) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 3))) (fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (-.f64 1 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2))) (-.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 a -1/3))) (exp.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (exp.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (+.f64 1 (expm1.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) 3) (pow.f64 (+.f64 a -1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (log.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 (log1p.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (log.f64 (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (neg.f64 (-.f64 1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (neg.f64 (-.f64 1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) (*.f64 -1/3 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) (*.f64 rand (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) a (*.f64 (fma.f64 rand (pow.f64 (fma.f64 9 a -3) -1/2) 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2)) (*.f64 (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (neg.f64 (-.f64 1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (neg.f64 (-.f64 1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (+.f64 -1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (neg.f64 (-.f64 1/3 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (*.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (cbrt.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3)))) (cbrt.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (sqrt.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (sqrt.f64 (+.f64 a -1/3))) (*.f64 (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (sqrt.f64 (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) rand) (pow.f64 (fma.f64 9 a -3) -1/2) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (pow.f64 (fma.f64 9 a -3) -1/2)) rand (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (cbrt.f64 (pow.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) 2))) (cbrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))))) (sqrt.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2)) (cbrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 rand (sqrt.f64 (fma.f64 9 a -3))) (sqrt.f64 (+.f64 a -1/3))) (sqrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))))

simplify66.0ms (0.6%)

Algorithm
egg-herbie
Rules
574×distribute-lft-in_binary64
572×distribute-rgt-in_binary64
504×fma-def_binary64
409×associate-/r/_binary64
367×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0116997
1346937
21141909
34902744
Stop Event
node limit
Counts
222 → 227
Calls
Call 1
Inputs
-1/3
(-.f64 (*.f64 -1 a) 1/3)
(-.f64 (+.f64 (*.f64 -3 (pow.f64 a 2)) (*.f64 -1 a)) 1/3)
(-.f64 (+.f64 (*.f64 -3 (pow.f64 a 2)) (+.f64 (*.f64 -9 (pow.f64 a 3)) (*.f64 -1 a))) 1/3)
(/.f64 1/9 a)
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (*.f64 1/9 (/.f64 1 a))))
(+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/243 (/.f64 1 (pow.f64 a 4))) (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))
(/.f64 1/9 a)
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (*.f64 1/9 (/.f64 1 a))))
(+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/243 (/.f64 1 (pow.f64 a 4))) (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))
(*.f64 rand (sqrt.f64 -1/3))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 3) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (sqrt.f64 -1/3))))))
(sqrt.f64 -1/3)
(+.f64 (sqrt.f64 -1/3) (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3))))
(+.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 a 2)) (sqrt.f64 -1/3)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 3) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (+.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 a 2)) (sqrt.f64 -1/3))))))
(*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 (*.f64 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) a) (*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))))
(+.f64 (*.f64 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) a) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))))
(+.f64 (*.f64 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) a) (+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))))))
a
a
(-.f64 a 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
Outputs
-1/3
(-.f64 (*.f64 -1 a) 1/3)
(fma.f64 -1 a -1/3)
(-.f64 -1/3 a)
(-.f64 (+.f64 (*.f64 -3 (pow.f64 a 2)) (*.f64 -1 a)) 1/3)
(+.f64 (fma.f64 -3 (*.f64 a a) (neg.f64 a)) -1/3)
(fma.f64 -3 (*.f64 a a) (fma.f64 -1 a -1/3))
(-.f64 (fma.f64 a (*.f64 a -3) -1/3) a)
(-.f64 (+.f64 (*.f64 -3 (pow.f64 a 2)) (+.f64 (*.f64 -9 (pow.f64 a 3)) (*.f64 -1 a))) 1/3)
(+.f64 (fma.f64 -3 (*.f64 a a) (fma.f64 -9 (pow.f64 a 3) (neg.f64 a))) -1/3)
(+.f64 -1/3 (fma.f64 -3 (*.f64 a a) (fma.f64 -9 (pow.f64 a 3) (neg.f64 a))))
(fma.f64 a (*.f64 a -3) (fma.f64 -9 (pow.f64 a 3) (-.f64 -1/3 a)))
(fma.f64 a (*.f64 a (+.f64 -3 (*.f64 a -9))) (-.f64 -1/3 a))
(/.f64 1/9 a)
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))
(+.f64 (/.f64 1/27 (*.f64 a a)) (/.f64 1/9 a))
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (*.f64 1/9 (/.f64 1 a))))
(+.f64 (/.f64 1/27 (*.f64 a a)) (+.f64 (/.f64 1/9 a) (/.f64 1/81 (pow.f64 a 3))))
(+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/243 (/.f64 1 (pow.f64 a 4))) (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))
(+.f64 (/.f64 1/81 (pow.f64 a 3)) (+.f64 (+.f64 (/.f64 1/27 (*.f64 a a)) (/.f64 1/9 a)) (/.f64 1/243 (pow.f64 a 4))))
(+.f64 (/.f64 1/81 (pow.f64 a 3)) (+.f64 (/.f64 1/27 (*.f64 a a)) (+.f64 (/.f64 1/9 a) (/.f64 1/243 (pow.f64 a 4)))))
(+.f64 (/.f64 1/27 (*.f64 a a)) (+.f64 (/.f64 1/9 a) (+.f64 (/.f64 1/81 (pow.f64 a 3)) (/.f64 1/243 (pow.f64 a 4)))))
(/.f64 1/9 a)
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))
(+.f64 (/.f64 1/27 (*.f64 a a)) (/.f64 1/9 a))
(+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (*.f64 1/9 (/.f64 1 a))))
(+.f64 (/.f64 1/27 (*.f64 a a)) (+.f64 (/.f64 1/9 a) (/.f64 1/81 (pow.f64 a 3))))
(+.f64 (*.f64 1/81 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/243 (/.f64 1 (pow.f64 a 4))) (+.f64 (*.f64 1/27 (/.f64 1 (pow.f64 a 2))) (*.f64 1/9 (/.f64 1 a)))))
(+.f64 (/.f64 1/81 (pow.f64 a 3)) (+.f64 (+.f64 (/.f64 1/27 (*.f64 a a)) (/.f64 1/9 a)) (/.f64 1/243 (pow.f64 a 4))))
(+.f64 (/.f64 1/81 (pow.f64 a 3)) (+.f64 (/.f64 1/27 (*.f64 a a)) (+.f64 (/.f64 1/9 a) (/.f64 1/243 (pow.f64 a 4)))))
(+.f64 (/.f64 1/27 (*.f64 a a)) (+.f64 (/.f64 1/9 a) (+.f64 (/.f64 1/81 (pow.f64 a 3)) (/.f64 1/243 (pow.f64 a 4)))))
(*.f64 rand (sqrt.f64 -1/3))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 -1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 rand (sqrt.f64 -1/3) (/.f64 (*.f64 -1/2 (*.f64 a rand)) (sqrt.f64 -1/3)))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 a (/.f64 (*.f64 rand -1/2) (sqrt.f64 -1/3))))
(*.f64 rand (fma.f64 -1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3))))
(fma.f64 -1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 (*.f64 a a) rand))) (*.f64 rand (sqrt.f64 -1/3))))
(fma.f64 -1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 rand (sqrt.f64 -1/3) (/.f64 (*.f64 -1/2 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 a (*.f64 a rand)))) (sqrt.f64 -1/3))))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 -1/2 (fma.f64 (/.f64 a (sqrt.f64 -1/3)) rand (*.f64 a (*.f64 a (*.f64 rand (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3))))))))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 rand (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 a (*.f64 a (*.f64 a 9/4))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 2) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 3) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (sqrt.f64 -1/3))))))
(fma.f64 -1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 (*.f64 a a) rand))) (fma.f64 rand (sqrt.f64 -1/3) (*.f64 -1/2 (/.f64 (*.f64 (*.f64 (pow.f64 a 3) rand) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))))))
(fma.f64 -1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 a (*.f64 a rand))) (fma.f64 rand (sqrt.f64 -1/3) (/.f64 -1/2 (/.f64 (sqrt.f64 -1/3) (*.f64 (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9) (*.f64 (pow.f64 a 3) rand)))))))
(fma.f64 -1/2 (fma.f64 (/.f64 a (sqrt.f64 -1/3)) rand (*.f64 a (*.f64 a (*.f64 rand (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)))))) (fma.f64 rand (sqrt.f64 -1/3) (/.f64 (pow.f64 a 3) (/.f64 (/.f64 (/.f64 (sqrt.f64 -1/3) rand) (+.f64 9 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))))) -1/2))))
(+.f64 (*.f64 rand (+.f64 (sqrt.f64 -1/3) (*.f64 (/.f64 (pow.f64 a 3) (sqrt.f64 -1/3)) -45/16))) (*.f64 rand (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 a (*.f64 a (*.f64 a 9/4))))))
(sqrt.f64 -1/3)
(+.f64 (sqrt.f64 -1/3) (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3))))
(+.f64 (sqrt.f64 -1/3) (/.f64 (*.f64 -1/2 a) (sqrt.f64 -1/3)))
(fma.f64 -1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3))
(+.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 a 2)) (sqrt.f64 -1/3)))))
(+.f64 (sqrt.f64 -1/3) (*.f64 -1/2 (+.f64 (/.f64 a (sqrt.f64 -1/3)) (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 a a))))))
(fma.f64 -1/2 (+.f64 (/.f64 a (sqrt.f64 -1/3)) (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 a a))) (sqrt.f64 -1/3))
(fma.f64 -1/2 (fma.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 a a) (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))
(+.f64 (sqrt.f64 -1/3) (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 a (*.f64 a (*.f64 a 9/4)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 3) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (+.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 -1/2 (/.f64 a (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 a 2)) (sqrt.f64 -1/3))))))
(fma.f64 -1/2 (/.f64 (pow.f64 a 3) (/.f64 (sqrt.f64 -1/3) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (+.f64 (sqrt.f64 -1/3) (*.f64 -1/2 (+.f64 (/.f64 a (sqrt.f64 -1/3)) (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 a a)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 a 3) (sqrt.f64 -1/3)) (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9)) (fma.f64 -1/2 (+.f64 (/.f64 a (sqrt.f64 -1/3)) (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 a a))) (sqrt.f64 -1/3)))
(fma.f64 -1/2 (*.f64 (+.f64 9 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))) (/.f64 (pow.f64 a 3) (sqrt.f64 -1/3))) (fma.f64 -1/2 (fma.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 a a) (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3)))
(+.f64 (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 a (*.f64 a (*.f64 a 9/4)))) (+.f64 (sqrt.f64 -1/3) (*.f64 (/.f64 (pow.f64 a 3) (sqrt.f64 -1/3)) -45/16)))
(*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/3))
(*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1))
(+.f64 (*.f64 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) a) (*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))))
(fma.f64 (fma.f64 rand (sqrt.f64 -1/3) (+.f64 1 (/.f64 (*.f64 1/6 rand) (sqrt.f64 -1/3)))) a (+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/3)))
(fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1)))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1))))
(+.f64 (*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (+.f64 -1/3 a)) (*.f64 (*.f64 a 1/6) (/.f64 rand (sqrt.f64 -1/3))))
(+.f64 (*.f64 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) a) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))))
(fma.f64 (fma.f64 rand (sqrt.f64 -1/3) (+.f64 1 (/.f64 (*.f64 1/6 rand) (sqrt.f64 -1/3)))) a (fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)))) (+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/3))))
(fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (fma.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) rand))) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1))))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 a (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (*.f64 rand (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)))))))))
(fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 3/8 (sqrt.f64 -1/3)) (/.f64 -1/2 (sqrt.f64 -1/3))))) (+.f64 (*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (+.f64 -1/3 a)) (*.f64 (*.f64 a 1/6) (/.f64 rand (sqrt.f64 -1/3)))))
(+.f64 (*.f64 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) a) (+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))))))
(fma.f64 (fma.f64 rand (sqrt.f64 -1/3) (+.f64 1 (/.f64 (*.f64 1/6 rand) (sqrt.f64 -1/3)))) a (fma.f64 (pow.f64 a 3) (fma.f64 1/6 (/.f64 rand (/.f64 (sqrt.f64 -1/3) (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (*.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)))) (fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)))) (+.f64 -1/3 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/3)))))
(fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (fma.f64 (pow.f64 a 3) (fma.f64 -1/2 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) rand) (/.f64 1/6 (/.f64 (/.f64 (sqrt.f64 -1/3) rand) (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9)))) (fma.f64 (*.f64 a a) (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) rand))) (*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1)))))
(fma.f64 (pow.f64 a 3) (fma.f64 -1/2 (*.f64 rand (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3))) (*.f64 (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))) (+.f64 9 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)))))) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (+.f64 (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 a (fma.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (*.f64 rand (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3))))))))))
(fma.f64 (pow.f64 a 3) (+.f64 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) 15/16) (*.f64 (/.f64 -9/8 (sqrt.f64 -1/3)) rand)) (fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 3/8 (sqrt.f64 -1/3)) (/.f64 -1/2 (sqrt.f64 -1/3))))) (+.f64 (*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (+.f64 -1/3 a)) (*.f64 (*.f64 a 1/6) (/.f64 rand (sqrt.f64 -1/3))))))
a
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(+.f64 -1/3 a)
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))
(*.f64 rand (*.f64 (+.f64 -1/3 a) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))
(*.f64 rand (*.f64 (+.f64 -1/3 a) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))
(-.f64 (+.f64 a (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))) 1/3)
(+.f64 a (-.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))) 1/3))
(+.f64 -1/3 (fma.f64 (*.f64 rand (+.f64 -1/3 a)) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) a))
(*.f64 (+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) 1) (+.f64 -1/3 a))

localize3.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 a 1/3)
Compiler

Compiled 7 to 5 computations (28.6% saved)

series2.0ms (0%)

Counts
1 → 3
Calls

3 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(-.f64 a 1/3)
0.0ms
a
@0
(-.f64 a 1/3)
0.0ms
a
@inf
(-.f64 a 1/3)

rewrite46.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
479×pow1_binary64
475×add-sqr-sqrt_binary64
452×add-log-exp_binary64
452×log1p-expm1-u_binary64
452×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1934
211654
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(-.f64 a 1/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))) (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) -1/27) (+.f64 (*.f64 a a) (-.f64 1/9 (*.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 a a -1/9) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 a 3) -1/27)) (neg.f64 (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 a a -1/9)) (neg.f64 (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a -1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 a -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 a -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 a -1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 a -1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) -1/3)))))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023
Stop Event
saturated
Counts
33 → 32
Calls
Call 1
Inputs
-1/3
a
a
Outputs
-1/3
a
a

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 a 1/3)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
0.1b
(sqrt.f64 (*.f64 9 a))
0.2b
(/.f64 rand (sqrt.f64 (*.f64 9 a)))
Compiler

Compiled 43 to 31 computations (27.9% saved)

series11.0ms (0.1%)

Counts
3 → 26
Calls

15 calls:

TimeVariablePointExpression
2.0ms
a
@inf
(/.f64 rand (sqrt.f64 (*.f64 9 a)))
1.0ms
rand
@0
(/.f64 rand (sqrt.f64 (*.f64 9 a)))
1.0ms
a
@0
(/.f64 rand (sqrt.f64 (*.f64 9 a)))
1.0ms
a
@0
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
1.0ms
rand
@inf
(/.f64 rand (sqrt.f64 (*.f64 9 a)))

rewrite88.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
600×log-prod_binary64
537×prod-diff_binary64
350×fma-def_binary64
226×pow1/3_binary64
223×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01233
126731
2361131
Stop Event
node limit
Counts
3 → 172
Calls
Call 1
Inputs
(/.f64 rand (sqrt.f64 (*.f64 9 a)))
(sqrt.f64 (*.f64 9 a))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (/.f64 1/3 (sqrt.f64 a)))) (cbrt.f64 (pow.f64 (exp.f64 rand) (/.f64 1/3 (sqrt.f64 a)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (/.f64 1/3 (sqrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (/.f64 1/3 (sqrt.f64 a))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (/.f64 1/3 (sqrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 rand (/.f64 1/3 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 rand (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 rand rand)) (*.f64 (cbrt.f64 rand) (/.f64 1/3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (cbrt.f64 (/.f64 (*.f64 rand rand) (*.f64 9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 rand rand) (*.f64 9 a))) (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 rand) (*.f64 (sqrt.f64 rand) (/.f64 1/3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 rand) (/.f64 1 (*.f64 -3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 rand rand)) 1) (/.f64 (cbrt.f64 rand) (*.f64 3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 rand) 1) (/.f64 (sqrt.f64 rand) (*.f64 3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 9 a))) (/.f64 rand (cbrt.f64 (*.f64 3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 rand rand)) (cbrt.f64 (*.f64 9 a))) (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 rand) (cbrt.f64 (*.f64 9 a))) (/.f64 (sqrt.f64 rand) (cbrt.f64 (*.f64 3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (*.f64 9 a) 1/4)) (/.f64 rand (pow.f64 (*.f64 9 a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 rand rand)) (pow.f64 (*.f64 9 a) 1/4)) (/.f64 (cbrt.f64 rand) (pow.f64 (*.f64 9 a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 rand rand)) 3) (/.f64 (cbrt.f64 rand) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 rand) 3) (/.f64 (sqrt.f64 rand) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (/.f64 (sqrt.f64 a) rand)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 3 (/.f64 (sqrt.f64 a) rand)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 rand (*.f64 -3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (*.f64 rand rand) (*.f64 9 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 rand) (/.f64 1/3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (cbrt.f64 (pow.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 2)) (cbrt.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (sqrt.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3)) (/.f64 1 (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a))) (/.f64 1 (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3) (sqrt.f64 a))) (cbrt.f64 (pow.f64 (exp.f64 3) (sqrt.f64 a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 3) (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (sqrt.f64 a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 3 (sqrt.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 (sqrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 3 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 9 a)) (cbrt.f64 (*.f64 3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3 (sqrt.f64 a))) (cbrt.f64 (*.f64 9 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 9 a) 1/4) (pow.f64 (*.f64 9 a) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a) (pow.f64 9 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 81 (*.f64 a a)))) (sqrt.f64 (cbrt.f64 (*.f64 9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 9 1/2) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 3 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 81 (*.f64 a a))) 1/2) (pow.f64 (cbrt.f64 (*.f64 9 a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9 a) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (sqrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 9 a) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (sqrt.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 9 a) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 3 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 9 a) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 9 a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 3 (sqrt.f64 a))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (+.f64 -1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (*.f64 -1/3 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) a) (*.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a -1/3))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a -1/3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a -1/3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 a (-.f64 1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3))) (*.f64 (+.f64 a 1/3) (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a)))) (*.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a)))) (*.f64 (+.f64 a 1/3) (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3)) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a))) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3)) (fma.f64 a a -1/9)) (*.f64 (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a))) (fma.f64 a a -1/9)) (*.f64 (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 3)) (+.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (*.f64 (+.f64 a -1/3) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 a -1/3) 2) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))) (-.f64 (+.f64 a -1/3) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3)) (+.f64 a -1/3)) (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a))) (+.f64 a -1/3)) (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (pow.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) 3))) (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 9 a)))) (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 3) (pow.f64 (+.f64 a -1/3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 a -1/3))) (exp.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (exp.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (+.f64 1 (expm1.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) 3) (pow.f64 (+.f64 a -1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 a -1/3) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (+.f64 -1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (neg.f64 (-.f64 1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) (*.f64 -1/3 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (+.f64 a -1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (+.f64 -1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (neg.f64 (-.f64 1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) a (*.f64 (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 rand rand) (*.f64 9 a))) (*.f64 (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (+.f64 -1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (neg.f64 (-.f64 1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (+.f64 -1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (neg.f64 (-.f64 1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (*.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (+.f64 -1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (neg.f64 (-.f64 1/3 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)) (*.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (cbrt.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))) (cbrt.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (sqrt.f64 (*.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (sqrt.f64 (+.f64 a -1/3))) (*.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (sqrt.f64 (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) rand) (/.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (cbrt.f64 (/.f64 (*.f64 rand rand) (*.f64 9 a)))) (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2)) (cbrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (sqrt.f64 (+.f64 a -1/3))) (sqrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))))

simplify248.0ms (2.3%)

Algorithm
egg-herbie
Rules
2343×fma-neg_binary64
514×fma-def_binary64
279×distribute-rgt-in_binary64
263×distribute-rgt-neg-in_binary64
230×unsub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
015402
135384
276384
3211362
4559353
5866353
61453353
72785353
84744353
95181353
105286353
115298353
125298353
135302353
146939353
156939353
166939353
176939353
Stop Event
saturated
Counts
198 → 180
Calls
Call 1
Inputs
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
a
a
(-.f64 a 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
Outputs
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
a
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))))
(*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))))
(*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 a 1/3) rand)
0.1b
(sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))
0.3b
(/.f64 1 (-.f64 (*.f64 9 a) 3))
8.3b
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
Compiler

Compiled 53 to 41 computations (22.6% saved)

series7.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
a
@inf
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
rand
@0
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
a
@0
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
rand
@inf
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))

rewrite68.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
644×log-prod_binary64
364×pow2_binary64
254×pow1/3_binary64
252×expm1-udef_binary64
252×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01426
130623
2370623
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a 1/3) rand)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) rand) (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 a -1/3) rand) 3) (pow.f64 (fma.f64 a 9 -3) -3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 a 9 -3) -3/2) (pow.f64 (*.f64 (+.f64 a -1/3) rand) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 a -1/3)) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (+.f64 a -1/3) rand) 3) (pow.f64 (fma.f64 a 9 -3) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 a 9 -3) -3/2) (pow.f64 (*.f64 (+.f64 a -1/3) rand) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 a -1/3) (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) rand))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a rand) (*.f64 -1/3 rand))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 rand a) (*.f64 rand -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (+.f64 a -1/3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (+.f64 a -1/3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) rand))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) rand) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) rand) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 rand (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 rand (fma.f64 a a -1/9)) (+.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) rand) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) rand) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) rand) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) rand)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) rand)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 rand 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 rand 3) (pow.f64 (+.f64 a -1/3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) rand) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 rand) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) rand) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 rand 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 rand 3) (pow.f64 (+.f64 a -1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 a -1/3) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 a -1/3) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a rand (*.f64 -1/3 rand))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand a (*.f64 rand -1/3))))))

simplify54.0ms (0.5%)

Algorithm
egg-herbie
Rules
644×distribute-rgt-out_binary64
500×associate-+l+_binary64
493×associate-*l/_binary64
435×associate-*r/_binary64
426×associate-/l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044307
1140300
2498296
32151231
47716222
Stop Event
node limit
Counts
69 → 65
Calls
Call 1
Inputs
(*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3)))
(+.f64 (*.f64 a (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3)))))
(+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3))))))
(*.f64 -1/3 rand)
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 a rand)
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 a rand)
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
Outputs
(*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3)))
(*.f64 rand (*.f64 (sqrt.f64 -1/3) -1/3))
(*.f64 rand (*.f64 -1/3 (sqrt.f64 -1/3)))
(+.f64 (*.f64 a (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3))))
(fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3))))
(fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (/.f64 (*.f64 rand 1/6) (sqrt.f64 -1/3))) (*.f64 rand (*.f64 (sqrt.f64 -1/3) -1/3)))
(+.f64 (*.f64 1/6 (*.f64 a (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 (sqrt.f64 -1/3) (*.f64 rand (+.f64 -1/3 a))))
(+.f64 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (*.f64 a 1/6)) (*.f64 rand (*.f64 (sqrt.f64 -1/3) (+.f64 -1/3 a))))
(*.f64 rand (+.f64 (/.f64 (*.f64 a 1/6) (sqrt.f64 -1/3)) (*.f64 (sqrt.f64 -1/3) (+.f64 -1/3 a))))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3)))))
(fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 (/.f64 rand (sqrt.f64 -1/3)) -1/2)) (fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3)))))
(fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (/.f64 (*.f64 rand -1/2) (sqrt.f64 -1/3))) (fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (/.f64 (*.f64 rand 1/6) (sqrt.f64 -1/3))) (*.f64 rand (*.f64 (sqrt.f64 -1/3) -1/3))))
(fma.f64 (*.f64 a a) (fma.f64 (/.f64 rand (sqrt.f64 -1/3)) -1/2 (*.f64 (/.f64 (+.f64 1/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2) 1/6)) (sqrt.f64 -1/3)) rand)) (+.f64 (*.f64 1/6 (*.f64 a (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 (sqrt.f64 -1/3) (*.f64 rand (+.f64 -1/3 a)))))
(+.f64 (*.f64 rand (*.f64 (sqrt.f64 -1/3) (+.f64 -1/3 a))) (*.f64 a (+.f64 (*.f64 a (*.f64 rand (+.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (/.f64 3/8 (sqrt.f64 -1/3))))) (*.f64 rand (/.f64 1/6 (sqrt.f64 -1/3))))))
(fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (/.f64 3/8 (sqrt.f64 -1/3))))) (*.f64 rand (+.f64 (/.f64 (*.f64 a 1/6) (sqrt.f64 -1/3)) (*.f64 (sqrt.f64 -1/3) (+.f64 -1/3 a)))))
(+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 rand (sqrt.f64 -1/3))))) (+.f64 (*.f64 a (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3))))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3))))))
(fma.f64 (pow.f64 a 3) (fma.f64 1/6 (/.f64 (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2))))) (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)))) (fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 (/.f64 rand (sqrt.f64 -1/3)) -1/2)) (fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (*.f64 1/6 (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/3 (*.f64 rand (sqrt.f64 -1/3))))))
(fma.f64 (pow.f64 a 3) (fma.f64 1/6 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9)) (*.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)))) (fma.f64 (*.f64 a a) (fma.f64 1/6 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) rand)) (/.f64 (*.f64 rand -1/2) (sqrt.f64 -1/3))) (fma.f64 a (fma.f64 rand (sqrt.f64 -1/3) (/.f64 (*.f64 rand 1/6) (sqrt.f64 -1/3))) (*.f64 rand (*.f64 (sqrt.f64 -1/3) -1/3)))))
(fma.f64 (pow.f64 a 3) (fma.f64 -1/2 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))) (*.f64 (/.f64 rand (sqrt.f64 -1/3)) (+.f64 3/2 (*.f64 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))) 1/6)))) (fma.f64 (*.f64 a a) (fma.f64 (/.f64 rand (sqrt.f64 -1/3)) -1/2 (*.f64 (/.f64 (+.f64 1/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2) 1/6)) (sqrt.f64 -1/3)) rand)) (+.f64 (*.f64 1/6 (*.f64 a (/.f64 rand (sqrt.f64 -1/3)))) (*.f64 (sqrt.f64 -1/3) (*.f64 rand (+.f64 -1/3 a))))))
(+.f64 (*.f64 rand (*.f64 (sqrt.f64 -1/3) (+.f64 -1/3 a))) (*.f64 a (+.f64 (*.f64 rand (/.f64 1/6 (sqrt.f64 -1/3))) (*.f64 a (+.f64 (*.f64 rand (+.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (/.f64 3/8 (sqrt.f64 -1/3)))) (*.f64 a (+.f64 (*.f64 (/.f64 rand (sqrt.f64 -1/3)) 15/16) (*.f64 rand (/.f64 -9/8 (sqrt.f64 -1/3))))))))))
(fma.f64 (pow.f64 a 3) (*.f64 rand (+.f64 (/.f64 15/16 (sqrt.f64 -1/3)) (/.f64 -9/8 (sqrt.f64 -1/3)))) (fma.f64 a (*.f64 a (*.f64 rand (+.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (/.f64 3/8 (sqrt.f64 -1/3))))) (*.f64 rand (+.f64 (/.f64 (*.f64 a 1/6) (sqrt.f64 -1/3)) (*.f64 (sqrt.f64 -1/3) (+.f64 -1/3 a))))))
(*.f64 -1/3 rand)
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(*.f64 a rand)
(*.f64 rand a)
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(*.f64 a rand)
(*.f64 rand a)
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))
(+.f64 (*.f64 a rand) (*.f64 -1/3 rand))
(*.f64 rand (+.f64 a -1/3))
(*.f64 rand (+.f64 -1/3 a))

localize41.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))
0.1b
(fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)
0.1b
(pow.f64 (fma.f64 9 a -3) -1/2)
26.2b
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
Compiler

Compiled 68 to 50 computations (26.5% saved)

series46.0ms (0.4%)

Counts
4 → 84
Calls

21 calls:

TimeVariablePointExpression
13.0ms
rand
@0
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
10.0ms
rand
@inf
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
2.0ms
a
@inf
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
2.0ms
a
@-inf
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
2.0ms
rand
@-inf
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))

rewrite119.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
692×log-prod_binary64
411×pow2_binary64
285×pow1/3_binary64
283×log1p-udef_binary64
282×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01664
134260
2408660
Stop Event
node limit
Counts
4 → 124
Calls
Call 1
Inputs
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
(pow.f64 (fma.f64 9 a -3) -1/2)
(fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)
(*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (/.f64 1 (/.f64 1 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (*.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a a -1/9) (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (/.f64 1 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (/.f64 1 (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))) 2) (cbrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 2) (*.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (/.f64 1 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))) (sqrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (*.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (/.f64 1 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (neg.f64 (fma.f64 a a -1/9))) (/.f64 1 (+.f64 -1/3 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 a 1/3)) (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 a a -1/9) 1) (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (+.f64 a 1/3)) (fma.f64 a a -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 1) (/.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (+.f64 a 1/3) 2))) (/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (cbrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (cbrt.f64 (pow.f64 (+.f64 a 1/3) 2))) (/.f64 (fma.f64 a a -1/9) (cbrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 a a -1/9) (cbrt.f64 (pow.f64 (+.f64 a 1/3) 2))) (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (cbrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 2) (cbrt.f64 (pow.f64 (+.f64 a 1/3) 2))) (cbrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (cbrt.f64 (pow.f64 (+.f64 a 1/3) 2))) (/.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (cbrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 a 1/3))) (/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (sqrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (sqrt.f64 (+.f64 a 1/3))) (/.f64 (fma.f64 a a -1/9) (sqrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 a a -1/9) (sqrt.f64 (+.f64 a 1/3))) (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (sqrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 2) (sqrt.f64 (+.f64 a 1/3))) (/.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) (sqrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 1/27 (pow.f64 a 3))) (-.f64 (fma.f64 a a 1/9) (*.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (fma.f64 a a -1/9)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) 3) (pow.f64 (+.f64 a 1/3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (/.f64 1 (+.f64 a -1/3)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 -1/3 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) 3) (pow.f64 (+.f64 a 1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand)) (neg.f64 (log.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand)) (neg.f64 (log.f64 (+.f64 a -1/3)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (fma.f64 9 a -3) -1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1)) (cbrt.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 9 a -3) -1/4) (pow.f64 (fma.f64 9 a -3) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 -1/2) (pow.f64 (fma.f64 9 a -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 9 a -3) 2)) -1/2) (pow.f64 (cbrt.f64 (fma.f64 9 a -3)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 9 a -3)) -1/2) (pow.f64 (sqrt.f64 (fma.f64 9 a -3)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 9 a -3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (fma.f64 9 a -3) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 9 a -3) -1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 9 a -3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1/2 (log.f64 (fma.f64 9 a -3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log.f64 (fma.f64 9 a -3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 2) (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (sqrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) 3) 1) (+.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) 2) (-.f64 1 (*.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) 2) 1) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a a) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)) (*.f64 -1/9 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) (fma.f64 a a -1/9)) (fma.f64 a a -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (*.f64 a a)) (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 a a -1/9) (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand)) (fma.f64 a a -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 a a -1/9)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 a a -1/9)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 a a -1/9)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 a a -1/9)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3) (pow.f64 (fma.f64 a a -1/9) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 a a -1/9) 3) (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 a a -1/9)) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3) (pow.f64 (fma.f64 a a -1/9) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 a a -1/9) 3) (pow.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (*.f64 a a) (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) (fma.f64 a a -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a a) (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (*.f64 -1/9 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand) (fma.f64 a a -1/9) (fma.f64 a a -1/9))))))

simplify152.0ms (1.4%)

Algorithm
egg-herbie
Rules
393×fma-def_binary64
359×associate--l+_binary64
302×associate-/l*_binary64
297×distribute-rgt-in_binary64
293×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02754391
19693777
234303041
Stop Event
node limit
Counts
208 → 236
Calls
Call 1
Inputs
(*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))
(+.f64 (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))) a))
(+.f64 (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))) a) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 3 (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (*.f64 3 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))))))))
(+.f64 (*.f64 (-.f64 (*.f64 3 (+.f64 (*.f64 -15/16 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 3/2 (*.f64 rand (sqrt.f64 -1/3))))) (*.f64 3 (-.f64 (*.f64 3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (*.f64 3 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))))))) (pow.f64 a 3)) (+.f64 (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))) a) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 3 (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (*.f64 3 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)))))))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a)
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (*.f64 -1/9 (/.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a))))) (+.f64 (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 1/3 (/.f64 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))) a))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 -1/54 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a) (+.f64 (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (*.f64 -1/9 (/.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a))))))) (+.f64 (*.f64 1/3 (/.f64 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))) a)) (+.f64 (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 1/3 (/.f64 (-.f64 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))) (*.f64 1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))))) (pow.f64 a 2))))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a)
(-.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a) (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))
(-.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))) (*.f64 -1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))))) a)))) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))
(-.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -5/432 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/54 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (pow.f64 a 2))) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))) (*.f64 -1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))))) a))))) (+.f64 (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (*.f64 -1/3 (/.f64 (-.f64 (*.f64 -1 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))) (*.f64 -1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))))) (pow.f64 a 2)))))
(/.f64 (-.f64 (pow.f64 a 2) 1/9) (+.f64 1/3 a))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(sqrt.f64 -1/3)
(+.f64 (*.f64 3/2 (*.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))
(+.f64 (*.f64 3/2 (*.f64 a (sqrt.f64 -1/3))) (+.f64 (sqrt.f64 -1/3) (*.f64 27/8 (*.f64 (pow.f64 a 2) (sqrt.f64 -1/3)))))
(+.f64 (*.f64 3/2 (*.f64 a (sqrt.f64 -1/3))) (+.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 135/16 (*.f64 (pow.f64 a 3) (sqrt.f64 -1/3))) (*.f64 27/8 (*.f64 (pow.f64 a 2) (sqrt.f64 -1/3))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9))))
(+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) a)) (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))))
(+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) a)) (+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (pow.f64 a 2)))))
(+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) a)) (+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (+.f64 (*.f64 5/432 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (pow.f64 a 3))) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (pow.f64 a 2))))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a))))))
(+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) a)))
(+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) a)) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (pow.f64 a 2)))))
(+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) a)) (+.f64 (*.f64 5/432 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (pow.f64 a 3))) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (pow.f64 a 2))))))
(+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)
(+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 3/2 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))))))
(+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 3/2 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 27/8 (*.f64 (pow.f64 a 2) (*.f64 rand (sqrt.f64 -1/3)))))))
(+.f64 (*.f64 135/16 (*.f64 (pow.f64 a 3) (*.f64 rand (sqrt.f64 -1/3)))) (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 3/2 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 27/8 (*.f64 (pow.f64 a 2) (*.f64 rand (sqrt.f64 -1/3))))))))
(+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))
(+.f64 1 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))
(+.f64 1 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))))
(+.f64 1 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (+.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 3)))))))
(+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) a)) (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) a)) (+.f64 1 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (pow.f64 a 2))) (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) a)) (+.f64 1 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (pow.f64 a 2))) (+.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (pow.f64 a 3)))))))
1
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/6 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/6 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))))))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))) (+.f64 (*.f64 -1/6 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -15/16 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 3/2 (*.f64 rand (sqrt.f64 -1/3))))))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2))
(+.f64 (*.f64 1/6 (*.f64 a (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2)))
(+.f64 (*.f64 1/6 (*.f64 a (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))))))
(+.f64 (*.f64 1/6 (*.f64 a (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2)) (+.f64 (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 -1/54 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)))))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2))
(+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 a rand))) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2)))
(+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 a rand))) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2)))))
(+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 a rand))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -5/432 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/54 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) a)) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2))))))
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
Outputs
(*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))
(*.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1))
(+.f64 (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)) (*.f64 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))) a))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2) (neg.f64 (fma.f64 rand (sqrt.f64 -1/3) 1))) a))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2 (fma.f64 rand (sqrt.f64 -1/3) 1)) a))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (+.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 1/2) 1) a))
(+.f64 (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))) a) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 3 (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (*.f64 3 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1))))))))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2) (neg.f64 (fma.f64 rand (sqrt.f64 -1/3) 1))) a (*.f64 (*.f64 a a) (*.f64 3 (-.f64 (+.f64 1 (*.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)))) (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2) (neg.f64 (fma.f64 rand (sqrt.f64 -1/3) 1))))))))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2 (fma.f64 rand (sqrt.f64 -1/3) 1)) a (*.f64 3 (*.f64 (-.f64 (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2 (fma.f64 rand (sqrt.f64 -1/3) 1))) (*.f64 a a)))))
(fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (+.f64 (+.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 1/2) 1) (*.f64 (*.f64 3 (+.f64 (-.f64 (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 1/2)) -1)) a))))
(+.f64 (*.f64 (-.f64 (*.f64 3 (+.f64 (*.f64 -15/16 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 3/2 (*.f64 rand (sqrt.f64 -1/3))))) (*.f64 3 (-.f64 (*.f64 3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (*.f64 3 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))))))) (pow.f64 a 3)) (+.f64 (*.f64 -1/3 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)) (+.f64 (*.f64 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))) a) (*.f64 (pow.f64 a 2) (-.f64 (*.f64 3 (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (*.f64 3 (-.f64 (*.f64 -1/2 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)))))))))
(fma.f64 (*.f64 3 (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 9/16) (*.f64 3 (-.f64 (+.f64 1 (*.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)))) (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2) (neg.f64 (fma.f64 rand (sqrt.f64 -1/3) 1))))))) (pow.f64 a 3) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2) (neg.f64 (fma.f64 rand (sqrt.f64 -1/3) 1))) a (*.f64 (*.f64 a a) (*.f64 3 (-.f64 (+.f64 1 (*.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)))) (-.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2) (neg.f64 (fma.f64 rand (sqrt.f64 -1/3) 1)))))))))
(fma.f64 (+.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 27/16) (*.f64 -9 (-.f64 (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2 (fma.f64 rand (sqrt.f64 -1/3) 1))))) (pow.f64 a 3) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2 (fma.f64 rand (sqrt.f64 -1/3) 1)) a (*.f64 3 (*.f64 (-.f64 (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) -1/2 (fma.f64 rand (sqrt.f64 -1/3) 1))) (*.f64 a a))))))
(fma.f64 (fma.f64 (*.f64 rand (sqrt.f64 -1/3)) 27/16 (*.f64 -9 (+.f64 (-.f64 (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 1/2)) -1))) (pow.f64 a 3) (fma.f64 -1/3 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 a (+.f64 (+.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 1/2) 1) (*.f64 (*.f64 3 (+.f64 (-.f64 (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 1/2)) -1)) a)))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a)
(*.f64 a (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))))
(*.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1))
(*.f64 a (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))))
(+.f64 (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (*.f64 a (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))))))
(fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/6 (*.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (-.f64 a 1/3)))
(fma.f64 (*.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) 1/6 (*.f64 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) (+.f64 a -1/3)))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (*.f64 -1/9 (/.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a))))) (+.f64 (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 1/3 (/.f64 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))) a))))
(-.f64 (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) a (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) (/.f64 (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) -1/9)) a)))) (*.f64 1/3 (+.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (/.f64 (-.f64 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) 1/6) (+.f64 1/3 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) 1/3))) a))))
(+.f64 (fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/6 (fma.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand) (/.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (/.f64 a -1/9))))) (*.f64 -1/3 (+.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (/.f64 (fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/6 (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1))) a))))
(-.f64 (+.f64 (fma.f64 1/24 (/.f64 rand (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2))) (*.f64 (/.f64 -1/9 a) (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1))) (fma.f64 (*.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) 1/6 (*.f64 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) (+.f64 a -1/3)))) (*.f64 (/.f64 1/3 a) (fma.f64 rand (*.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1/6) (*.f64 -1/3 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1)))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 -1/54 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a) (+.f64 (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (*.f64 -1/9 (/.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) a))))))) (+.f64 (*.f64 1/3 (/.f64 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))) a)) (+.f64 (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 1/3 (/.f64 (-.f64 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))) (*.f64 1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))))) (pow.f64 a 2))))))
(-.f64 (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (fma.f64 -1/54 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 (*.f64 a a) rand)) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) a (fma.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 (*.f64 a a) rand)) (/.f64 (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) -1/9)) a)))))) (fma.f64 1/3 (/.f64 (-.f64 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) 1/6) (+.f64 1/3 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) 1/3))) a) (*.f64 1/3 (+.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (/.f64 (+.f64 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) -1/9))) (*.f64 -1/3 (-.f64 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) 1/6) (+.f64 1/3 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) 1/3))))) (*.f64 a a))))))
(-.f64 (fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/6 (fma.f64 -1/54 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (/.f64 (*.f64 a a) rand)) (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand) (fma.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (fma.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (/.f64 (*.f64 a a) rand)) 5/432 (/.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (/.f64 a -1/9))))))) (*.f64 1/3 (+.f64 (+.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (/.f64 (fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/6 (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1))) a)) (/.f64 (fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/24 (fma.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) -1/9 (*.f64 -1/3 (fma.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) 1/6 (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1)))))) (*.f64 a a)))))
(fma.f64 (*.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) 1/6 (-.f64 (+.f64 (+.f64 (*.f64 (/.f64 rand (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2))) (+.f64 1/24 (/.f64 -1/54 a))) (fma.f64 (/.f64 rand (*.f64 a (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2)))) 5/432 (*.f64 (/.f64 -1/9 a) (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1)))) (-.f64 (*.f64 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) (+.f64 a -1/3)) (*.f64 (/.f64 1/3 a) (fma.f64 rand (*.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1/6) (*.f64 -1/3 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1)))))) (*.f64 (/.f64 1/3 (*.f64 a a)) (+.f64 -1/9 (-.f64 (*.f64 (*.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) -5/72) (*.f64 1/3 (fma.f64 rand (*.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1/6) (*.f64 -1/3 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1)))))))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a)
(*.f64 a (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))
(*.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))
(*.f64 a (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1))
(-.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a) (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))
(+.f64 (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) a (*.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))))
(fma.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))))
(+.f64 (*.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)))) (*.f64 (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1) (+.f64 a -1/3)))
(-.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))) (*.f64 -1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))))) a)))) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))
(+.f64 (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) a (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (neg.f64 (/.f64 (+.f64 (neg.f64 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) -1/9)))) (*.f64 1/3 (+.f64 (*.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))))) a)))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))))
(+.f64 (-.f64 (fma.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (*.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 rand 1/6))) (/.f64 (fma.f64 -1 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/9 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))) (*.f64 1/3 (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))))) a)) (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1)))
(+.f64 (fma.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (/.f64 (+.f64 (+.f64 -1/9 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -5/72)) (*.f64 -1/3 (fma.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (*.f64 -1/3 (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1))))) a)) (*.f64 (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1) (+.f64 a -1/3)))
(-.f64 (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) a) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -5/432 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/54 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (pow.f64 a 2))) (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))) (*.f64 -1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))))) a))))) (+.f64 (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (*.f64 -1/3 (/.f64 (-.f64 (*.f64 -1 (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))) (*.f64 -1/3 (-.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/3 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))))) (pow.f64 a 2)))))
(-.f64 (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) a (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (*.f64 -1 (+.f64 (/.f64 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) 1/144) (*.f64 a a)) (/.f64 (+.f64 (neg.f64 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) -1/9)))) (*.f64 1/3 (+.f64 (*.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))))) a))))) (fma.f64 1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) (*.f64 -1/3 (/.f64 (+.f64 (neg.f64 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) -1/9)))) (*.f64 1/3 (+.f64 (*.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) (*.f64 -1/3 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))))) (*.f64 a a)))))
(-.f64 (fma.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (-.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 rand 1/6)) (*.f64 (/.f64 rand (/.f64 a (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))))) (/.f64 1/144 a))) (/.f64 (fma.f64 -1 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/9 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))) (*.f64 1/3 (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))))) a))) (fma.f64 -1/3 (/.f64 (fma.f64 -1 (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/9 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))) (*.f64 1/3 (fma.f64 1/6 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (*.f64 -1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))))) (*.f64 a a)) (*.f64 1/3 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))))
(+.f64 (+.f64 (/.f64 (+.f64 (+.f64 -1/9 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -5/72)) (*.f64 -1/3 (fma.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (*.f64 -1/3 (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1))))) a) (fma.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (/.f64 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -1/144) (*.f64 a a)))) (-.f64 (*.f64 (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1) (+.f64 a -1/3)) (*.f64 (/.f64 -1/3 (*.f64 a a)) (+.f64 (-.f64 1/9 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -5/72)) (*.f64 1/3 (fma.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (*.f64 -1/3 (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1))))))))
(/.f64 (-.f64 (pow.f64 a 2) 1/9) (+.f64 1/3 a))
(/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3))
(/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
(*.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
(*.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(-.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (+.f64 1/3 a)) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (/.f64 (pow.f64 a 2) (+.f64 1/3 a))) (*.f64 1/9 (/.f64 1 (+.f64 1/3 a))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 a a) -1/9) (/.f64 (+.f64 a 1/3) rand)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))) (/.f64 (+.f64 (*.f64 a a) -1/9) (+.f64 a 1/3)))
(fma.f64 (/.f64 rand (/.f64 (+.f64 a 1/3) (fma.f64 a a -1/9))) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(fma.f64 (*.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)) rand) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) (/.f64 (fma.f64 a a -1/9) (+.f64 a 1/3)))
(sqrt.f64 -1/3)
(+.f64 (*.f64 3/2 (*.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))
(fma.f64 3/2 (*.f64 (sqrt.f64 -1/3) a) (sqrt.f64 -1/3))
(*.f64 (+.f64 (*.f64 a 3/2) 1) (sqrt.f64 -1/3))
(+.f64 (*.f64 3/2 (*.f64 a (sqrt.f64 -1/3))) (+.f64 (sqrt.f64 -1/3) (*.f64 27/8 (*.f64 (pow.f64 a 2) (sqrt.f64 -1/3)))))
(+.f64 (fma.f64 3/2 (*.f64 (sqrt.f64 -1/3) a) (sqrt.f64 -1/3)) (*.f64 27/8 (*.f64 (sqrt.f64 -1/3) (*.f64 a a))))
(fma.f64 3/2 (*.f64 (sqrt.f64 -1/3) a) (fma.f64 (*.f64 (*.f64 a a) 27/8) (sqrt.f64 -1/3) (sqrt.f64 -1/3)))
(+.f64 (sqrt.f64 -1/3) (*.f64 (sqrt.f64 -1/3) (*.f64 a (+.f64 (*.f64 27/8 a) 3/2))))
(+.f64 (*.f64 3/2 (*.f64 a (sqrt.f64 -1/3))) (+.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 135/16 (*.f64 (pow.f64 a 3) (sqrt.f64 -1/3))) (*.f64 27/8 (*.f64 (pow.f64 a 2) (sqrt.f64 -1/3))))))
(+.f64 (fma.f64 3/2 (*.f64 (sqrt.f64 -1/3) a) (sqrt.f64 -1/3)) (fma.f64 135/16 (*.f64 (sqrt.f64 -1/3) (pow.f64 a 3)) (*.f64 27/8 (*.f64 (sqrt.f64 -1/3) (*.f64 a a)))))
(+.f64 (*.f64 (+.f64 (*.f64 a 3/2) 1) (sqrt.f64 -1/3)) (*.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 (*.f64 a a) 27/8) (*.f64 (pow.f64 a 3) 135/16))))
(+.f64 (sqrt.f64 -1/3) (*.f64 (sqrt.f64 -1/3) (+.f64 (*.f64 a 3/2) (*.f64 (*.f64 a a) (+.f64 27/8 (*.f64 135/16 a))))))
(exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9))))
(pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))
(*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))
(+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) a)) (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) a) (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))))
(fma.f64 1/6 (/.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) a) (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)))
(+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) a)) (+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (pow.f64 a 2)))))
(+.f64 (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) a) (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (*.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (*.f64 a a))))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (*.f64 a a)) (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))))
(+.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) (*.f64 (/.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) a) (+.f64 (/.f64 1/24 a) 1/6)))
(+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) a)) (+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (+.f64 (*.f64 5/432 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (pow.f64 a 3))) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) (pow.f64 a 2))))))
(+.f64 (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) a) (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (fma.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (pow.f64 a 3)) (*.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (*.f64 a a)))))
(+.f64 (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (*.f64 a a)) (*.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (pow.f64 a 3)))))
(+.f64 (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) a) (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) (*.f64 (*.f64 (/.f64 (pow.f64 a -1/2) a) (/.f64 (pow.f64 9 -1/2) a)) (+.f64 1/24 (/.f64 5/432 a))))
(exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a))))))
(pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))
(pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))
(*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))
(+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) a)))
(+.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (*.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) a)))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) a) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))))
(fma.f64 1/6 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)))
(+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) a)) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (pow.f64 a 2)))))
(+.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) a) (/.f64 (*.f64 1/24 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (*.f64 a a))))
(+.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) a) (*.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 a a)))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) (+.f64 1/6 (/.f64 1/24 a))))
(+.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (+.f64 (*.f64 1/6 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) a)) (+.f64 (*.f64 5/432 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (pow.f64 a 3))) (*.f64 1/24 (/.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (pow.f64 a 2))))))
(+.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) a) (fma.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (pow.f64 a 3)) (/.f64 (*.f64 1/24 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (*.f64 a a)))))
(+.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) a) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 a a)) (*.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (pow.f64 a 3))))))
(+.f64 (fma.f64 1/6 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) (*.f64 a a)) (+.f64 1/24 (/.f64 5/432 a))))
(+.f64 (*.f64 rand (sqrt.f64 -1/3)) 1)
(fma.f64 rand (sqrt.f64 -1/3) 1)
(+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 3/2 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))))))
(+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 3/2 (*.f64 (*.f64 rand a) (sqrt.f64 -1/3))))
(+.f64 1 (*.f64 (+.f64 (*.f64 a 3/2) 1) (*.f64 rand (sqrt.f64 -1/3))))
(+.f64 1 (*.f64 rand (*.f64 (+.f64 (*.f64 a 3/2) 1) (sqrt.f64 -1/3))))
(+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 3/2 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 27/8 (*.f64 (pow.f64 a 2) (*.f64 rand (sqrt.f64 -1/3)))))))
(+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 3/2 (*.f64 (*.f64 rand a) (sqrt.f64 -1/3)) (*.f64 27/8 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 a a)))))
(+.f64 1 (fma.f64 rand (sqrt.f64 -1/3) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 a 3/2) (*.f64 (*.f64 a a) 27/8)))))
(+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 rand (*.f64 (sqrt.f64 -1/3) (*.f64 a (+.f64 (*.f64 27/8 a) 3/2)))))
(+.f64 (*.f64 135/16 (*.f64 (pow.f64 a 3) (*.f64 rand (sqrt.f64 -1/3)))) (+.f64 1 (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 3/2 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 27/8 (*.f64 (pow.f64 a 2) (*.f64 rand (sqrt.f64 -1/3))))))))
(fma.f64 135/16 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (pow.f64 a 3)) (+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 3/2 (*.f64 (*.f64 rand a) (sqrt.f64 -1/3)) (*.f64 27/8 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 a a))))))
(+.f64 (fma.f64 rand (sqrt.f64 -1/3) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 a 3/2) (*.f64 (*.f64 a a) 27/8)))) (fma.f64 135/16 (*.f64 rand (*.f64 (sqrt.f64 -1/3) (pow.f64 a 3))) 1))
(+.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 a (+.f64 (*.f64 27/8 a) 3/2)) (*.f64 (pow.f64 a 3) 135/16))))
(+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))
(+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))))
(fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1)
(fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1)
(+.f64 1 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)))
(+.f64 1 (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))))
(+.f64 1 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (*.f64 1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand))))
(+.f64 1 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) (*.f64 1/6 (/.f64 rand (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2))))))
(+.f64 1 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))))
(+.f64 1 (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 (*.f64 a a) rand)) (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))))))
(+.f64 1 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (*.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (/.f64 (*.f64 a a) rand))))))
(+.f64 (*.f64 (/.f64 rand (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2))) (+.f64 1/6 (/.f64 1/24 a))) (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1))
(+.f64 1 (+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 2))) (+.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) (pow.f64 a 3)))))))
(+.f64 1 (fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 (*.f64 a a) rand)) (fma.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) rand (*.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 (pow.f64 a 3) rand)))))))
(+.f64 1 (fma.f64 1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (/.f64 (*.f64 a a) rand)) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (/.f64 (*.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 5/432) (/.f64 (pow.f64 a 3) rand))))))
(+.f64 1 (+.f64 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) (*.f64 5/432 (/.f64 rand (/.f64 (/.f64 (pow.f64 a 3) (pow.f64 a -1/2)) (pow.f64 9 -1/2))))) (*.f64 (/.f64 rand (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2))) (+.f64 1/6 (/.f64 1/24 a)))))
(+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))
(+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))
(fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1)
(fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1)
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) a)) (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (/.f64 a rand)) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))
(fma.f64 1/6 (/.f64 rand (/.f64 a (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))))) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1))
(fma.f64 1/6 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) rand) (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) a)) (+.f64 1 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (pow.f64 a 2))) (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (/.f64 a rand)) (+.f64 1 (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (/.f64 (*.f64 a a) rand)) (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))))
(+.f64 (fma.f64 1/6 (/.f64 rand (/.f64 a (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))))) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1)) (*.f64 1/24 (/.f64 rand (/.f64 (*.f64 a a) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))))))
(+.f64 (fma.f64 1/6 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) rand) (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1)) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) (/.f64 (*.f64 rand 1/24) a)))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) a)) (+.f64 1 (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (pow.f64 a 2))) (+.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand) (pow.f64 a 3)))))))
(fma.f64 1/6 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (/.f64 a rand)) (+.f64 1 (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (/.f64 (*.f64 a a) rand)) (fma.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) rand (*.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (/.f64 (pow.f64 a 3) rand)))))))
(+.f64 (fma.f64 1/24 (/.f64 rand (/.f64 (*.f64 a a) (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))))) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (/.f64 (pow.f64 a 3) rand))))) (fma.f64 1/6 (/.f64 rand (/.f64 a (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))))) 1))
(+.f64 (+.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) (*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) (/.f64 rand a)) (+.f64 1/24 (/.f64 5/432 a)))) (fma.f64 1/6 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) a) rand) 1))
1
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))))
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(+.f64 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) 1)
(fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1)
(*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3))))
(*.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) -1/9)
(+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/6 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))))
(fma.f64 -1/9 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (*.f64 (*.f64 rand a) (sqrt.f64 -1/3)) -1/6))
(fma.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) -1/9 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 a -1/6)))
(+.f64 -1/9 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 -1/9 (*.f64 a -1/6))))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 -1/6 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))))))
(fma.f64 (*.f64 a a) (+.f64 1 (*.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)))) (fma.f64 -1/9 (fma.f64 rand (sqrt.f64 -1/3) 1) (*.f64 (*.f64 (*.f64 rand a) (sqrt.f64 -1/3)) -1/6)))
(fma.f64 (*.f64 a a) (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (fma.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) -1/9 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 a -1/6))))
(fma.f64 (*.f64 a a) (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (+.f64 -1/9 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 -1/9 (*.f64 a -1/6)))))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 1 (*.f64 -3/8 (*.f64 rand (sqrt.f64 -1/3)))))) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 rand (sqrt.f64 -1/3)))) (+.f64 (*.f64 -1/6 (*.f64 a (*.f64 rand (sqrt.f64 -1/3)))) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -15/16 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 3/2 (*.f64 rand (sqrt.f64 -1/3))))))))
(fma.f64 (*.f64 a a) (+.f64 1 (*.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)))) (fma.f64 -1/9 (fma.f64 rand (sqrt.f64 -1/3) 1) (fma.f64 -1/6 (*.f64 (*.f64 rand a) (sqrt.f64 -1/3)) (*.f64 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) 9/16) (pow.f64 a 3)))))
(fma.f64 (*.f64 a a) (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (fma.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) -1/9 (fma.f64 (*.f64 rand (*.f64 (sqrt.f64 -1/3) 9/16)) (pow.f64 a 3) (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 a -1/6)))))
(fma.f64 (*.f64 a a) (fma.f64 5/8 (*.f64 rand (sqrt.f64 -1/3)) 1) (fma.f64 (fma.f64 rand (sqrt.f64 -1/3) 1) -1/9 (*.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 a -1/6) (*.f64 9/16 (pow.f64 a 3))))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2))
(*.f64 (*.f64 a a) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))))
(*.f64 a (*.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1)))
(*.f64 (*.f64 a a) (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1))
(+.f64 (*.f64 1/6 (*.f64 a (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2)))
(fma.f64 1/6 (*.f64 a (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (*.f64 (*.f64 a a) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))))))
(fma.f64 (*.f64 a a) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (*.f64 a (*.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) (*.f64 rand 1/6))))
(*.f64 a (fma.f64 a (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) (*.f64 (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) (*.f64 rand 1/6))))
(+.f64 (*.f64 1/6 (*.f64 a (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2)) (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))))))
(fma.f64 1/6 (*.f64 a (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (*.f64 a a) (+.f64 -1/9 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) -1/9)))))
(+.f64 (*.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (fma.f64 a a -1/9)) (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) (+.f64 (*.f64 a 1/6) 1/24)))
(+.f64 (*.f64 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) (fma.f64 a a -1/9)) (*.f64 (*.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) (+.f64 (*.f64 a 1/6) 1/24)))
(+.f64 (*.f64 1/6 (*.f64 a (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (+.f64 (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand)) (pow.f64 a 2)) (+.f64 (*.f64 5/432 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand))) (*.f64 -1/54 (/.f64 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 a))) (log.f64 9)))) rand) a)))))))
(fma.f64 1/6 (*.f64 a (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9)))) (fma.f64 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (*.f64 a a) (fma.f64 5/432 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) (fma.f64 -1/9 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))))) (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (fma.f64 -1 (neg.f64 (log.f64 a)) (log.f64 9))) (/.f64 a rand)) -1/54))))))
(+.f64 (fma.f64 (*.f64 a a) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) (fma.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand) 5/432 (fma.f64 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) 1) -1/9 (*.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9))) a) rand) -1/54)))) (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 a) (log.f64 9)))) (+.f64 (*.f64 a 1/6) 1/24)))
(+.f64 (fma.f64 (*.f64 a a) (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) (+.f64 (*.f64 (fma.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2)) 1) -1/9) (*.f64 (/.f64 rand (/.f64 (/.f64 a (pow.f64 a -1/2)) (pow.f64 9 -1/2))) -1/144))) (*.f64 (*.f64 rand (*.f64 (pow.f64 a -1/2) (pow.f64 9 -1/2))) (+.f64 (*.f64 a 1/6) 1/24)))
(*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2))
(*.f64 (*.f64 a a) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))
(*.f64 a (*.f64 a (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1)))
(*.f64 a (*.f64 a (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1)))
(+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 a rand))) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2)))
(fma.f64 1/6 (*.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (*.f64 rand a)) (*.f64 (*.f64 a a) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))))
(fma.f64 (*.f64 a a) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 rand a))))
(*.f64 a (fma.f64 a (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1) (*.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))))))
(+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 a rand))) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2)))))
(fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (fma.f64 -1/9 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) (fma.f64 1/6 (*.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (*.f64 rand a)) (*.f64 (*.f64 a a) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))))))))
(fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (fma.f64 -1/9 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (fma.f64 (*.f64 a a) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 rand a))))))
(+.f64 (+.f64 -1/9 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -5/72)) (*.f64 a (fma.f64 a (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1) (*.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)))))))
(+.f64 (*.f64 -1/9 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) (*.f64 a rand))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -5/432 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (*.f64 1/54 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand))) a)) (*.f64 (+.f64 1 (*.f64 (exp.f64 (*.f64 -1/2 (+.f64 (log.f64 -9) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) rand)) (pow.f64 a 2))))))
(fma.f64 -1/9 (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))) (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) (fma.f64 1/6 (*.f64 (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))) (*.f64 rand a)) (fma.f64 -1 (/.f64 (*.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a)))))) 1/144) a) (*.f64 (*.f64 a a) (+.f64 1 (*.f64 rand (pow.f64 (exp.f64 -1/2) (+.f64 (log.f64 -9) (neg.f64 (log.f64 (/.f64 -1 a))))))))))))
(fma.f64 -1/9 (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (fma.f64 1/24 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (fma.f64 1/6 (*.f64 (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) (*.f64 rand a)) (fma.f64 (*.f64 a a) (fma.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a)))) 1) (neg.f64 (/.f64 (*.f64 rand (pow.f64 (exp.f64 -1/2) (-.f64 (log.f64 -9) (log.f64 (/.f64 -1 a))))) (/.f64 a 1/144)))))))
(+.f64 (+.f64 -1/9 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -5/72)) (+.f64 (*.f64 a (fma.f64 a (fma.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)) 1) (*.f64 rand (*.f64 1/6 (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2)))))) (/.f64 (*.f64 (*.f64 rand (*.f64 (pow.f64 (/.f64 -1 a) 1/2) (pow.f64 -9 -1/2))) -1/144) a)))
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (+.f64 (*.f64 a a) -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))
(*.f64 rand (*.f64 (fma.f64 a a -1/9) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (+.f64 (*.f64 a a) -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 9 a -3)))))
(*.f64 rand (*.f64 (fma.f64 a a -1/9) (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))
(-.f64 (+.f64 (*.f64 (*.f64 (-.f64 (pow.f64 a 2) 1/9) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))) (pow.f64 a 2)) 1/9)
(+.f64 (fma.f64 (*.f64 rand (+.f64 (*.f64 a a) -1/9)) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))) (*.f64 a a)) -1/9)
(fma.f64 (fma.f64 a a -1/9) (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))) (fma.f64 a a -1/9))
(*.f64 (fma.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3))) 1) (fma.f64 a a -1/9))

eval958.0ms (8.7%)

Compiler

Compiled 19983 to 15566 computations (22.1% saved)

prune268.0ms (2.4%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New8507857
Fresh235
Picked101
Done224
Total85512867
Error
0b
Counts
867 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
38.5b
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
63.0b
-1/3
43.9b
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
50.1b
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.4b
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
49.8b
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
0.4b
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
46.9b
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
19.2b
(-.f64 a 1/3)
20.4b
a
1.6b
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
Compiler

Compiled 235 to 182 computations (22.6% saved)

localize70.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 a 1/3)
0.0b
(sqrt.f64 (-.f64 a 1/3))
0.3b
(*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)
0.5b
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
Compiler

Compiled 48 to 34 computations (29.2% saved)

series15.0ms (0.1%)

Counts
3 → 12
Calls

15 calls:

TimeVariablePointExpression
2.0ms
rand
@0
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
1.0ms
a
@-inf
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
1.0ms
a
@inf
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
1.0ms
a
@0
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
1.0ms
a
@-inf
(*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)

rewrite100.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
861×pow1_binary64
801×add-log-exp_binary64
801×log1p-expm1-u_binary64
801×expm1-log1p-u_binary64
785×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0827
117427
2215327
Stop Event
node limit
Counts
3 → 46
Calls
Call 1
Inputs
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)
(sqrt.f64 (-.f64 a 1/3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/3) (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (+.f64 a -1/3) (*.f64 rand rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 (+.f64 a -1/3))) rand))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3/2) (pow.f64 rand 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 rand 3) (pow.f64 (+.f64 a -1/3) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) rand)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (+.f64 a -1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (+.f64 a -1/3))) (cbrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 a -1/3)) (cbrt.f64 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a -1/3) 1/4) (pow.f64 (+.f64 a -1/3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (sqrt.f64 (fma.f64 a a (+.f64 1/9 (*.f64 1/3 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 a a -1/9)) (sqrt.f64 (+.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a -1/3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a -1/3) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 a -1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a -1/3) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 a -1/3) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (+.f64 a -1/3))))))))

simplify68.0ms (0.6%)

Algorithm
egg-herbie
Rules
727×distribute-rgt-out_binary64
626×associate-*r*_binary64
586×associate-*l*_binary64
582×associate-*l/_binary64
524×associate-/r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
054324
1156310
2485306
31743287
46563277
Stop Event
node limit
Counts
58 → 68
Calls
Call 1
Inputs
(*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 1/6 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3)))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3))) (*.f64 1/48 (/.f64 (*.f64 (pow.f64 a 3) rand) (pow.f64 (sqrt.f64 -1/3) 5))))))
(*.f64 rand (sqrt.f64 -1/3))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 3) rand) (pow.f64 (sqrt.f64 -1/3) 5))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3))))))
(sqrt.f64 -1/3)
(+.f64 (*.f64 1/2 (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 1/2 (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 1/2 (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))))
Outputs
(*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)))
(*.f64 (sqrt.f64 -1/3) (*.f64 1/3 rand))
(*.f64 rand (*.f64 1/3 (sqrt.f64 -1/3)))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3))) (*.f64 1/6 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 (/.f64 a (sqrt.f64 -1/3)) (*.f64 rand 1/6)))
(*.f64 rand (+.f64 (*.f64 1/3 (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 a (sqrt.f64 -1/3)))))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3)))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/6 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 -1/24 (/.f64 (*.f64 rand (*.f64 a a)) (pow.f64 (sqrt.f64 -1/3) 3)))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/6 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 1/8 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3)))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/6 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) (/.f64 (*.f64 1/8 (*.f64 rand (*.f64 a a))) (sqrt.f64 -1/3))))
(fma.f64 1/8 (*.f64 (*.f64 a a) (/.f64 rand (sqrt.f64 -1/3))) (*.f64 rand (+.f64 (*.f64 1/3 (sqrt.f64 -1/3)) (*.f64 1/6 (/.f64 a (sqrt.f64 -1/3))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/24 (/.f64 a -1/3)) 1/6)))
(+.f64 (*.f64 1/3 (*.f64 rand (sqrt.f64 -1/3))) (+.f64 (*.f64 1/6 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3))) (*.f64 1/48 (/.f64 (*.f64 (pow.f64 a 3) rand) (pow.f64 (sqrt.f64 -1/3) 5))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/6 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 -1/24 (/.f64 (*.f64 rand (*.f64 a a)) (pow.f64 (sqrt.f64 -1/3) 3)) (*.f64 1/48 (/.f64 (*.f64 rand (pow.f64 a 3)) (pow.f64 (sqrt.f64 -1/3) 5))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/6 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 1/48 (/.f64 rand (/.f64 (pow.f64 (sqrt.f64 -1/3) 5) (pow.f64 a 3))) (*.f64 1/8 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/6 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) (fma.f64 1/48 (*.f64 rand (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5))) (/.f64 (*.f64 1/8 (*.f64 rand (*.f64 a a))) (sqrt.f64 -1/3)))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/8 (*.f64 (*.f64 a a) (/.f64 rand (sqrt.f64 -1/3))) (*.f64 rand (+.f64 (*.f64 1/6 (/.f64 a (sqrt.f64 -1/3))) (/.f64 (*.f64 1/48 (pow.f64 a 3)) (pow.f64 (sqrt.f64 -1/3) 5))))))
(fma.f64 1/3 (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 1/48 (*.f64 (pow.f64 a 3) (/.f64 rand (pow.f64 (sqrt.f64 -1/3) 5))) (*.f64 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/24 (/.f64 a -1/3)) 1/6))))
(*.f64 rand (sqrt.f64 -1/3))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) 1/2 (*.f64 rand (sqrt.f64 -1/3)))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 (/.f64 a (/.f64 (sqrt.f64 -1/3) 1/2)) rand))
(*.f64 rand (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3)))))
(fma.f64 1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 rand (sqrt.f64 -1/3) (*.f64 (/.f64 (*.f64 rand (*.f64 a a)) (pow.f64 (sqrt.f64 -1/3) 3)) -1/8)))
(fma.f64 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) 1/2 (fma.f64 rand (sqrt.f64 -1/3) (*.f64 3/8 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3)))))
(fma.f64 rand (sqrt.f64 -1/3) (fma.f64 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) 1/2 (*.f64 (/.f64 (/.f64 (*.f64 a a) 8/3) (sqrt.f64 -1/3)) rand)))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 rand (*.f64 (/.f64 a (sqrt.f64 -1/3)) (+.f64 1/2 (*.f64 -1/8 (/.f64 a -1/3))))))
(fma.f64 rand (sqrt.f64 -1/3) (*.f64 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) (+.f64 1/2 (*.f64 -1/8 (/.f64 a -1/3)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a rand) (sqrt.f64 -1/3))) (+.f64 (*.f64 rand (sqrt.f64 -1/3)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 3) rand) (pow.f64 (sqrt.f64 -1/3) 5))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) rand) (pow.f64 (sqrt.f64 -1/3) 3))))))
(fma.f64 1/2 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 1/16 (/.f64 (*.f64 rand (pow.f64 a 3)) (pow.f64 (sqrt.f64 -1/3) 5)) (*.f64 (/.f64 (*.f64 rand (*.f64 a a)) (pow.f64 (sqrt.f64 -1/3) 3)) -1/8))))
(fma.f64 (/.f64 a (/.f64 (sqrt.f64 -1/3) rand)) 1/2 (fma.f64 rand (sqrt.f64 -1/3) (fma.f64 (/.f64 rand (/.f64 (pow.f64 (sqrt.f64 -1/3) 5) (pow.f64 a 3))) 1/16 (*.f64 3/8 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3))))))
(fma.f64 rand (sqrt.f64 -1/3) (fma.f64 (*.f64 rand (/.f64 a (sqrt.f64 -1/3))) 1/2 (fma.f64 (*.f64 rand (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5))) 1/16 (*.f64 (/.f64 (/.f64 (*.f64 a a) 8/3) (sqrt.f64 -1/3)) rand))))
(+.f64 (*.f64 rand (+.f64 (sqrt.f64 -1/3) (*.f64 (pow.f64 a 3) (/.f64 1/16 (pow.f64 (sqrt.f64 -1/3) 5))))) (*.f64 rand (*.f64 (/.f64 a (sqrt.f64 -1/3)) (+.f64 1/2 (*.f64 -1/8 (/.f64 a -1/3))))))
(+.f64 (*.f64 rand (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3))) (*.f64 (*.f64 rand (*.f64 a a)) (+.f64 (/.f64 3/8 (sqrt.f64 -1/3)) (/.f64 (*.f64 a 1/16) (pow.f64 (sqrt.f64 -1/3) 5)))))
(sqrt.f64 -1/3)
(+.f64 (*.f64 1/2 (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))
(fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 1/2 (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3)))
(fma.f64 -1/8 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1/3) 3)) (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3)))
(+.f64 (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3)) (*.f64 3/8 (/.f64 (*.f64 a a) (sqrt.f64 -1/3))))
(fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (fma.f64 3/8 (/.f64 a (/.f64 (sqrt.f64 -1/3) a)) (sqrt.f64 -1/3)))
(+.f64 (sqrt.f64 -1/3) (*.f64 (/.f64 a (sqrt.f64 -1/3)) (+.f64 1/2 (*.f64 -1/8 (/.f64 a -1/3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1/3) 3))) (+.f64 (*.f64 1/2 (/.f64 a (sqrt.f64 -1/3))) (sqrt.f64 -1/3))))
(fma.f64 1/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (fma.f64 -1/8 (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1/3) 3)) (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3))))
(+.f64 (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (sqrt.f64 -1/3)) (fma.f64 1/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (*.f64 3/8 (/.f64 (*.f64 a a) (sqrt.f64 -1/3)))))
(fma.f64 1/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (fma.f64 1/2 (/.f64 a (sqrt.f64 -1/3)) (fma.f64 3/8 (/.f64 a (/.f64 (sqrt.f64 -1/3) a)) (sqrt.f64 -1/3))))
(+.f64 (sqrt.f64 -1/3) (fma.f64 1/16 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1/3) 5)) (*.f64 (/.f64 a (sqrt.f64 -1/3)) (+.f64 1/2 (*.f64 -1/8 (/.f64 a -1/3))))))

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 a 1/3)
0.0b
(sqrt.f64 (-.f64 a 1/3))
0.3b
(*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)
0.5b
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
Compiler

Compiled 26 to 18 computations (30.8% saved)

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
0.1b
(sqrt.f64 (*.f64 9 a))
0.2b
(/.f64 rand (sqrt.f64 (*.f64 9 a)))
Compiler

Compiled 37 to 26 computations (29.7% saved)

series4.0ms (0%)

Counts
1 → 14
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@0
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
1.0ms
a
@-inf
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
1.0ms
a
@inf
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
0.0ms
rand
@inf
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
0.0ms
rand
@0
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
510×log-prod_binary64
479×prod-diff_binary64
341×pow-prod-down_binary64
275×fma-def_binary64
260×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01015
121413
2282713
Stop Event
node limit
Counts
1 → 61
Calls
Call 1
Inputs
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 a (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 3)) (fma.f64 a a (-.f64 (pow.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 2) (*.f64 a (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 2)) (-.f64 a (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (pow.f64 rand 3) (pow.f64 (*.f64 a 9) -3/2) 1) a) (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 a 9))) a) (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (fma.f64 (pow.f64 rand 3) (pow.f64 (*.f64 a 9) -3/2) 1)) (fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (-.f64 1 (/.f64 (*.f64 rand rand) (*.f64 a 9)))) (-.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a) (fma.f64 rand (/.f64 1/3 (sqrt.f64 a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 a)) (exp.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (+.f64 1 (expm1.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (/.f64 1/3 (sqrt.f64 a)) a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) a a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 rand rand) (*.f64 a 9))) (*.f64 (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 a a)) (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 a a)) (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) 1) (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) 1) (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) (*.f64 (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) 1) (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) 1) (*.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) 2) (cbrt.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (sqrt.f64 (*.f64 a (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a rand) (/.f64 1/3 (sqrt.f64 a)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (cbrt.f64 (/.f64 (*.f64 rand rand) (*.f64 a 9)))) (cbrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))))) (sqrt.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 rand (/.f64 1/3 (sqrt.f64 a))) (sqrt.f64 a)) (sqrt.f64 a) a)))))

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08129
113111
223111
329111
Stop Event
saturated
Counts
75 → 65
Calls
Call 1
Inputs
a
a
a
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
Outputs
a
a
a
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 a 1/3)
0.1b
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.2b
(*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)
0.4b
(/.f64 1/3 (sqrt.f64 a))
Compiler

Compiled 41 to 25 computations (39% saved)

series9.0ms (0.1%)

Counts
3 → 26
Calls

15 calls:

TimeVariablePointExpression
1.0ms
rand
@-inf
(*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)
1.0ms
a
@-inf
(*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)
1.0ms
a
@-inf
(/.f64 1/3 (sqrt.f64 a))
1.0ms
a
@-inf
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
1.0ms
a
@0
(/.f64 1/3 (sqrt.f64 a))

rewrite83.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
628×prod-diff_binary64
559×log-prod_binary64
395×fma-def_binary64
306×pow2_binary64
213×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01133
124631
2336831
Stop Event
node limit
Counts
3 → 166
Calls
Call 1
Inputs
(/.f64 1/3 (sqrt.f64 a))
(*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (/.f64 1/9 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/9 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/9 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/9 a))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 1/9 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 1/9 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (pow.f64 a -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/9 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 1/9 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/9 a))) (cbrt.f64 (/.f64 1/9 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/9 a)) (cbrt.f64 (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (/.f64 1/9 a))) (sqrt.f64 (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 1 (neg.f64 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 1/9 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (/.f64 1/9 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/9 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (/.f64 1/9 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 a) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (sqrt.f64 a) 3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/9 a))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 1/9 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (/.f64 1/9 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/9 a))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 (/.f64 1/9 a)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 (/.f64 1/9 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 (/.f64 1/9 a))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 (/.f64 1/9 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (/.f64 (sqrt.f64 a) rand))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 rand (*.f64 (sqrt.f64 a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 a) (*.f64 1/3 rand)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 rand) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/3 rand)) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/3 rand) 1) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/3 rand) (cbrt.f64 a)) (cbrt.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/3 rand) (pow.f64 a 1/4)) (pow.f64 a 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 rand) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 rand -1/3) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 a) (*.f64 1/3 rand)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 (/.f64 1/9 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) 2) (cbrt.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (sqrt.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3)) (/.f64 1 (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) (/.f64 1 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (*.f64 -1/3 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) a) (*.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (+.f64 a -1/3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (+.f64 a -1/3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 a (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3))) (*.f64 (fma.f64 a a (fma.f64 1/3 a 1/9)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3))) (*.f64 (+.f64 1/3 a) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))) (*.f64 (fma.f64 a a (fma.f64 1/3 a 1/9)) (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))) (*.f64 (+.f64 1/3 a) (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3)) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1) (fma.f64 a a (fma.f64 1/3 a 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (fma.f64 a a (fma.f64 1/3 a 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3)) (fma.f64 a a -1/9)) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1) (+.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) (fma.f64 a a -1/9)) (*.f64 (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 3)) (+.f64 (pow.f64 (+.f64 a -1/3) 2) (-.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 2) (*.f64 (+.f64 a -1/3) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 a -1/3) 2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 2)) (-.f64 (+.f64 a -1/3) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (fma.f64 a a (fma.f64 1/3 a 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 a a -1/9) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (+.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3)) (+.f64 a -1/3)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) (+.f64 a -1/3)) (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a -1/3) (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))) (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 1/3 a 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) (fma.f64 a a -1/9)) (+.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) 3) (pow.f64 (+.f64 a -1/3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 a -1/3))) (exp.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))) (exp.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))) (+.f64 1 (expm1.f64 (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 a -1/3) 3) (pow.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) 3) (pow.f64 (+.f64 a -1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) (*.f64 -1/3 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1/9 a)) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (+.f64 a -1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 a -1/3) 1 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) a (*.f64 (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) 1) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (*.f64 (cbrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 (sqrt.f64 a)) (sqrt.f64 a)) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 (sqrt.f64 a)) (sqrt.f64 a)) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) 1) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 1/4) (*.f64 (pow.f64 a 1/4) (sqrt.f64 a)) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 1/4) (*.f64 (pow.f64 a 1/4) (sqrt.f64 a)) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 1/3 a 1/9))) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 1/3 a 1/9))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 1/3 a)) (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 1/3 a)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 a 1/4) 3) (pow.f64 a 1/4) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 a 1/4) 3) (pow.f64 a 1/4) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))) 2) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (*.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (sqrt.f64 (+.f64 a -1/3))) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (sqrt.f64 (+.f64 a -1/3))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (sqrt.f64 (/.f64 1/9 a))) rand (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) rand) (sqrt.f64 (/.f64 1/9 a)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (cbrt.f64 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 a -1/3) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2)) (cbrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (sqrt.f64 (+.f64 a -1/3))) (sqrt.f64 (+.f64 a -1/3)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) (cbrt.f64 a)) (cbrt.f64 (sqrt.f64 a)) (+.f64 -1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) (cbrt.f64 a)) (cbrt.f64 (sqrt.f64 a)) (neg.f64 (-.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand (+.f64 a -1/3))))))))))

simplify257.0ms (2.3%)

Algorithm
egg-herbie
Rules
2343×fma-neg_binary64
514×fma-def_binary64
279×distribute-rgt-in_binary64
263×distribute-rgt-neg-in_binary64
230×unsub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
015402
135384
276384
3211362
4559353
5866353
61453353
72785353
84744353
95181353
105286353
115298353
125298353
135302353
146939353
156939353
166939353
176939353
Stop Event
saturated
Counts
192 → 174
Calls
Call 1
Inputs
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
a
a
(-.f64 a 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
Outputs
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand))
a
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))))
(*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))
(*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))))
(*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 a))))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3)))) 1/3))
(+.f64 (fma.f64 (*.f64 (*.f64 1/3 rand) (+.f64 a -1/3)) (sqrt.f64 (/.f64 1 a)) a) -1/3)
(+.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (+.f64 a -1/3))) a) -1/3)
(fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 rand (fma.f64 1/3 a -1/9)) (+.f64 a -1/3))
(*.f64 (+.f64 a -1/3) (fma.f64 1/3 (*.f64 (sqrt.f64 (/.f64 1 a)) rand) 1))
(*.f64 (+.f64 a -1/3) (fma.f64 (sqrt.f64 (/.f64 1 a)) (*.f64 1/3 rand) 1))

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (pow.f64 a 3) -1/27)
0.0b
(+.f64 1/9 (*.f64 a 1/3))
0.4b
(*.f64 a 1/3)
32.8b
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
Compiler

Compiled 45 to 33 computations (26.7% saved)

series6.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
a
@0
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
1.0ms
a
@-inf
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
1.0ms
a
@inf
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
0.0ms
a
@inf
(*.f64 a 1/3)
0.0ms
a
@-inf
(*.f64 a 1/3)

rewrite95.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
547×log-prod_binary64
332×pow-prod-down_binary64
325×pow2_binary64
313×prod-diff_binary64
234×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01238
127434
2338734
Stop Event
node limit
Counts
4 → 141
Calls
Call 1
Inputs
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
(*.f64 a 1/3)
(+.f64 1/9 (*.f64 a 1/3))
(+.f64 (pow.f64 a 3) -1/27)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 3) -1/27) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) 2) (cbrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2) (*.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) (sqrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (*.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/27 (neg.f64 (pow.f64 a 3))) (/.f64 1 (neg.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 a a (fma.f64 a 1/3 1/9))) (+.f64 (pow.f64 a 3) -1/27))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2) 1) (/.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 1) (/.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a a (fma.f64 a 1/3 1/9))) -2) (/.f64 (+.f64 (pow.f64 a 3) -1/27) (cbrt.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2) (cbrt.f64 (pow.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) 2))) (cbrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (cbrt.f64 (pow.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) 2))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (cbrt.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) -1/2) (/.f64 (+.f64 (pow.f64 a 3) -1/27) (hypot.f64 a (sqrt.f64 (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2) (hypot.f64 a (sqrt.f64 (fma.f64 a 1/3 1/9)))) (/.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (hypot.f64 a (sqrt.f64 (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (+.f64 (pow.f64 a 3) -1/27)) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (+.f64 (pow.f64 a 3) -1/27)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (+.f64 (pow.f64 a 3) -1/27) 3) (pow.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (+.f64 (pow.f64 a 3) -1/27)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (neg.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) (+.f64 (pow.f64 a 3) -1/27)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 (pow.f64 a 3) -1/27) 3) (pow.f64 (fma.f64 a a (fma.f64 a 1/3 1/9)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (fma.f64 a 1/3 1/9)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 a))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (cbrt.f64 (exp.f64 a)))) (log.f64 (sqrt.f64 (cbrt.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 a 1/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/9 (*.f64 a a)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a 1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 a 1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 a 3) 1/27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/9 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (cbrt.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 a 3) 1/27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a 1/3)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a 1/3 1/9))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/81 (+.f64 1/9 (*.f64 -1/3 a))) (/.f64 (*.f64 1/9 (*.f64 a a)) (+.f64 1/9 (*.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a 1/3 1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a 1/3 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a 1/3 1/9)) (pow.f64 (cbrt.f64 (fma.f64 a 1/3 1/9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a 1/3 1/9)) 2) (cbrt.f64 (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a 1/3 1/9)) (sqrt.f64 (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 a 3) 1/27 1/729) (/.f64 1 (fma.f64 (*.f64 a 1/3) (fma.f64 a 1/3 -1/9) 1/81)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1/81 (*.f64 1/9 (*.f64 a a))) (/.f64 1 (+.f64 1/9 (*.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 a 1/3) (fma.f64 a 1/3 -1/9) 1/81) (fma.f64 (pow.f64 a 3) 1/27 1/729)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1/9 (*.f64 -1/3 a)) (-.f64 1/81 (*.f64 1/9 (*.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 a 3) 1/27 1/729) (fma.f64 (*.f64 a 1/3) (fma.f64 a 1/3 -1/9) 1/81))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 a 3) 1/27 1/729) (fma.f64 1/9 (*.f64 a a) (-.f64 1/81 (*.f64 1/27 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/81 (*.f64 1/9 (*.f64 a a))) (+.f64 1/9 (*.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 a 3) 1/27 1/729)) (neg.f64 (fma.f64 (*.f64 a 1/3) (fma.f64 a 1/3 -1/9) 1/81)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1/81 (*.f64 1/9 (*.f64 a a)))) (neg.f64 (+.f64 1/9 (*.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/9 (*.f64 a a) -1/81) (fma.f64 a 1/3 -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a 1/3 1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 1/3 1/9) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 1/3 1/9) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a 1/3 1/9)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a 1/3 1/9)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 a 1/3) (fma.f64 a 1/3 -1/9) 1/81) (fma.f64 (pow.f64 a 3) 1/27 1/729)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1/9 (*.f64 -1/3 a)) (-.f64 1/81 (*.f64 1/9 (*.f64 a a)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a 1/3 1/9) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a 1/3 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a 1/3 1/9) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a 1/3 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a 1/3 1/9)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1/3 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 a 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a 1/3) 1 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a 1/3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) 1/3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a 1/3)) (pow.f64 (cbrt.f64 (*.f64 a 1/3)) 2) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a 1/3)) 2) (cbrt.f64 (*.f64 a 1/3)) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) 1/3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a 1/3)) (sqrt.f64 (*.f64 a 1/3)) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 a)) (sqrt.f64 a) 1/9)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (pow.f64 a 3) -1/27))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 a 6) (+.f64 (pow.f64 a 3) 1/27)) (/.f64 1/729 (+.f64 (pow.f64 a 3) 1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 3) -1/27) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (pow.f64 a 3) -1/27))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2) (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1/19683 (pow.f64 a 9)) (/.f64 1 (+.f64 (pow.f64 a 6) (-.f64 1/729 (*.f64 (pow.f64 a 3) -1/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 a 6) -1/729) (/.f64 1 (+.f64 (pow.f64 a 3) 1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 a 6) (-.f64 1/729 (*.f64 (pow.f64 a 3) -1/27))) (+.f64 -1/19683 (pow.f64 a 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 a 3) 1/27) (+.f64 (pow.f64 a 6) -1/729)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1/19683 (pow.f64 a 9)) (+.f64 (pow.f64 a 6) (-.f64 1/729 (*.f64 (pow.f64 a 3) -1/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1/19683 (pow.f64 a 9)) (+.f64 1/729 (-.f64 (pow.f64 a 6) (*.f64 (pow.f64 a 3) -1/27))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 6) -1/729) (+.f64 (pow.f64 a 3) 1/27))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1/19683 (pow.f64 a 9))) (neg.f64 (+.f64 (pow.f64 a 6) (-.f64 1/729 (*.f64 (pow.f64 a 3) -1/27)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 a 6) -1/729)) (neg.f64 (+.f64 (pow.f64 a 3) 1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1/729 (pow.f64 a 6)) (-.f64 -1/27 (pow.f64 a 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (pow.f64 a 3) -1/27) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (pow.f64 a 3) -1/27) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (pow.f64 a 3) -1/27) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (pow.f64 a 3) -1/27)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 a 6) (-.f64 1/729 (*.f64 (pow.f64 a 3) -1/27))) (+.f64 -1/19683 (pow.f64 a 9))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 a 3) 1/27) (+.f64 (pow.f64 a 6) -1/729)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (pow.f64 a 3) -1/27) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (pow.f64 a 3) -1/27))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (pow.f64 a 3) -1/27) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (pow.f64 a 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (pow.f64 a 3) -1/27)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 a a) -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 3) 1 -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 a 3) -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a a) a -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) (*.f64 a a)) -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 a a)) -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 3/2) (pow.f64 a 3/2) -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a a) 1) a -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 a (cbrt.f64 a)) 2) (cbrt.f64 a) -1/27)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a a) (sqrt.f64 a)) (sqrt.f64 a) -1/27)))))

simplify194.0ms (1.8%)

Algorithm
egg-herbie
Rules
1274×sqr-pow_binary64
676×cube-prod_binary64
666×pow-sqr_binary64
556×fabs-mul_binary64
374×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
013231
127213
239213
348213
472213
5167213
6539213
71213213
81312213
91445213
101603213
111839213
122161213
132582213
143083213
153682213
164402213
174721213
185007213
195231213
205409213
215489213
226429213
237403213
247869213
Stop Event
node limit
Counts
189 → 153
Calls
Call 1
Inputs
-1/3
(-.f64 a 1/3)
(-.f64 a 1/3)
(-.f64 a 1/3)
a
(-.f64 a 1/3)
(-.f64 a 1/3)
(-.f64 a 1/3)
a
(-.f64 a 1/3)
(-.f64 a 1/3)
(-.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
(*.f64 1/3 a)
1/9
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 1/9 (*.f64 1/3 a))
(*.f64 1/3 a)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 1/9 (*.f64 1/3 a))
(*.f64 1/3 a)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 1/9 (*.f64 1/3 a))
-1/27
(-.f64 (pow.f64 a 3) 1/27)
(-.f64 (pow.f64 a 3) 1/27)
(-.f64 (pow.f64 a 3) 1/27)
(pow.f64 a 3)
(-.f64 (pow.f64 a 3) 1/27)
(-.f64 (pow.f64 a 3) 1/27)
(-.f64 (pow.f64 a 3) 1/27)
(pow.f64 a 3)
(-.f64 (pow.f64 a 3) 1/27)
(-.f64 (pow.f64 a 3) 1/27)
(-.f64 (pow.f64 a 3) 1/27)
Outputs
-1/3
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
(*.f64 1/3 a)
(*.f64 a 1/3)
1/9
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(*.f64 1/3 a)
(*.f64 a 1/3)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(*.f64 1/3 a)
(*.f64 a 1/3)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
(+.f64 1/9 (*.f64 1/3 a))
(+.f64 (*.f64 a 1/3) 1/9)
(fma.f64 a 1/3 1/9)
-1/27
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(pow.f64 a 3)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(pow.f64 a 3)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)
(-.f64 (pow.f64 a 3) 1/27)
(+.f64 (pow.f64 a 3) -1/27)

eval292.0ms (2.7%)

Compiler

Compiled 11956 to 8680 computations (27.4% saved)

prune158.0ms (1.4%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New6948702
Fresh325
Picked011
Done426
Total70113714
Error
0b
Counts
714 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
38.5b
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
43.9b
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
19.2b
(-.f64 a 1/3)
0.7b
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
50.1b
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
44.2b
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
1.9b
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
60.1b
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
1.6b
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
1.6b
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
46.9b
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
20.4b
a
63.0b
-1/3
Compiler

Compiled 217 to 163 computations (24.9% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a)
0.0b
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
0.3b
(*.f64 (sqrt.f64 a) rand)
0.5b
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
Compiler

Compiled 35 to 15 computations (57.1% saved)

series11.0ms (0.1%)

Counts
4 → 29
Calls

24 calls:

TimeVariablePointExpression
1.0ms
rand
@0
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
1.0ms
a
@-inf
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
1.0ms
rand
@inf
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
1.0ms
a
@0
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
1.0ms
a
@-inf
(*.f64 (sqrt.f64 a) rand)

rewrite90.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
496×fma-def_binary64
494×log-prod_binary64
367×exp-prod_binary64
358×pow-prod-down_binary64
270×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
120738
2285738
Stop Event
node limit
Counts
4 → 224
Calls
Call 1
Inputs
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(*.f64 (sqrt.f64 a) rand)
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand)) 2)) (log.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand))) (log.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))) (sqrt.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 3) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sqrt.f64 a) rand))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand) 2)) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 a) rand))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 a) rand) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (*.f64 rand rand)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 a) rand))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 a) rand)))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 a (*.f64 rand rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 rand) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 a) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 a) rand))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 a) rand))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 a) rand)) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 a -1/3) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) (pow.f64 (cbrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 2) (cbrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) (sqrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) -1/27) (/.f64 1 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) (fma.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) -1/9) (/.f64 1 (+.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) (fma.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1/9)) (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) -1/27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) -1/27) (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) (fma.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) -1/27) (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) (-.f64 1/9 (*.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) -1/9) (+.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) -1/27)) (neg.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) (fma.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) -1/9)) (neg.f64 (+.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 (+.f64 a -1/3) 3)) (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (-.f64 (pow.f64 (+.f64 a -1/3) 2) (*.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (pow.f64 (+.f64 a -1/3) 2))) (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) (fma.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1/9)) (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) -1/27)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1/3 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) (+.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) -1/9)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) 2)) (cbrt.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))) (sqrt.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) (exp.f64 (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (+.f64 a -1/3)) (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 rand 1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 rand 1/3) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) rand) 1/3 (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) rand) 1/3 (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1 (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1 (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1 -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 a -1/3) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) (pow.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 2) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 2) (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a (*.f64 rand rand))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) 1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a (*.f64 rand rand))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) 1/3) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (cbrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (cbrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) (sqrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) 1/3) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) 1/3) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 1/4) (pow.f64 a 3/4) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3)) (/.f64 1 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (*.f64 a (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (*.f64 a a))) (/.f64 1 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a))) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 a)) rand (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 a)) rand (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 3/4) (pow.f64 a 1/4) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 rand) (sqrt.f64 a) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 rand) (sqrt.f64 a) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (cbrt.f64 (*.f64 a (*.f64 rand rand)))) (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (cbrt.f64 (*.f64 a (*.f64 rand rand)))) (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 (*.f64 (sqrt.f64 a) rand))) (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 (*.f64 (sqrt.f64 a) rand))) (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) 1) rand (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) 1) rand (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) (pow.f64 (cbrt.f64 rand) 2)) (cbrt.f64 rand) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) (pow.f64 (cbrt.f64 rand) 2)) (cbrt.f64 rand) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) (sqrt.f64 rand)) (sqrt.f64 rand) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) (sqrt.f64 rand)) (sqrt.f64 rand) (*.f64 (+.f64 a -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 5/6) (pow.f64 a 1/6) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a))) (/.f64 (*.f64 a a) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) (pow.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 2) (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) (sqrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3)) (/.f64 1 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (*.f64 a (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (*.f64 a a))) (/.f64 1 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (*.f64 a (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))) (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a)) (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (*.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3)) (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (*.f64 a (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3)) (fma.f64 a a (-.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))) (*.f64 (*.f64 (sqrt.f64 a) rand) (*.f64 1/3 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (*.f64 a a))) (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3))) (neg.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (*.f64 a (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (*.f64 a a)))) (neg.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (*.f64 a (-.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))) (fma.f64 1/27 (pow.f64 (*.f64 (sqrt.f64 a) rand) 3) (pow.f64 a 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) (neg.f64 a)) (fma.f64 1/9 (*.f64 a (*.f64 rand rand)) (neg.f64 (*.f64 a a)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))) 2)) (cbrt.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))) (sqrt.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 a)) (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 a) (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 a)) (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 a))) rand) (+.f64 1 (expm1.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))) (+.f64 1 (expm1.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)) 3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 rand 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 1/3 (sqrt.f64 a)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) rand) 1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1 a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a (*.f64 rand rand))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 2) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (cbrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand)))) (cbrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (sqrt.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 1/4) (pow.f64 a 3/4) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 a)) rand a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 3/4) (pow.f64 a 1/4) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 rand) (sqrt.f64 a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (cbrt.f64 (*.f64 a (*.f64 rand rand)))) (cbrt.f64 (*.f64 (sqrt.f64 a) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/3 (sqrt.f64 (*.f64 (sqrt.f64 a) rand))) (sqrt.f64 (*.f64 (sqrt.f64 a) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) 1) rand a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) (pow.f64 (cbrt.f64 rand) 2)) (cbrt.f64 rand) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/3 (sqrt.f64 a)) (sqrt.f64 rand)) (sqrt.f64 rand) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 5/6) (pow.f64 a 1/6) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))))

simplify45.0ms (0.4%)

Algorithm
egg-herbie
Rules
306×fma-neg_binary64
131×fma-def_binary64
73×cancel-sign-sub-inv_binary64
57×distribute-rgt-neg-in_binary64
36×associate--r+_binary64
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
011289
121253
239253
361253
473253
5105253
6187253
7375235
8713235
9998235
101104235
111113235
Stop Event
saturated
Counts
253 → 233
Calls
Call 1
Inputs
-1/3
a
a
(-.f64 a 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
a
a
a
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
Outputs
-1/3
a
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
(-.f64 (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) 1/3)
(+.f64 a (-.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) 1/3))
(+.f64 a (fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) -1/3))
(+.f64 a (fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) -1/3))
(fma.f64 (fma.f64 (sqrt.f64 a) rand -1) 1/3 a)
(fma.f64 1/3 (fma.f64 (sqrt.f64 a) rand -1) a)
a
a
a
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sqrt.f64 a) rand)
0.5b
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
Compiler

Compiled 17 to 7 computations (58.8% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a a -1/9)
21.5b
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
Compiler

Compiled 20 to 13 computations (35% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@0
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
0.0ms
a
@-inf
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
0.0ms
a
@inf
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
0.0ms
a
@0
(fma.f64 a a -1/9)
0.0ms
a
@inf
(fma.f64 a a -1/9)

rewrite63.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
834×pow1_binary64
784×add-log-exp_binary64
784×log1p-expm1-u_binary64
784×expm1-log1p-u_binary64
771×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0716
11609
220969
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(fma.f64 a a -1/9)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 a -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a a -1/9) (/.f64 1 (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 a -1/3)) (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 a -1/3)) 2) (cbrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 2) (*.f64 (cbrt.f64 (fma.f64 a a -1/9)) (/.f64 1 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a -1/3)) (sqrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a a -1/9)) (*.f64 (sqrt.f64 (fma.f64 a a -1/9)) (/.f64 1 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 a a -1/9)) (/.f64 1 (+.f64 (neg.f64 a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 a 1/3)) (fma.f64 a a -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 a a -1/9)) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 a a -1/9)) 1) (/.f64 (sqrt.f64 (fma.f64 a a -1/9)) (+.f64 a 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (+.f64 a 1/3)) 2)) (/.f64 (fma.f64 a a -1/9) (cbrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 2) (pow.f64 (cbrt.f64 (+.f64 a 1/3)) 2)) (cbrt.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 a a -1/9)) (pow.f64 (cbrt.f64 (+.f64 a 1/3)) 2)) (/.f64 (sqrt.f64 (fma.f64 a a -1/9)) (cbrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 a 1/3))) (/.f64 (fma.f64 a a -1/9) (sqrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 2) (sqrt.f64 (+.f64 a 1/3))) (/.f64 (cbrt.f64 (fma.f64 a a -1/9)) (sqrt.f64 (+.f64 a 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 (pow.f64 a 3) 1/27)) (fma.f64 a a (+.f64 1/9 (*.f64 a -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 a a -1/9) (fma.f64 a a -1/9)) (+.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a -1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a -1/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 a -1/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 a -1/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 a a -1/9) (+.f64 (neg.f64 a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 a -1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 a -1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 a a -1/9) 3) (pow.f64 (+.f64 a 1/3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) -1/3)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1/9 (*.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a a) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a a) 1) -1/9)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a a) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 a a -1/9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a a -1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a a -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a a -1/9)) (pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 2) (cbrt.f64 (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a a -1/9)) (sqrt.f64 (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 a a) 3) 1/729) (+.f64 (*.f64 (*.f64 a a) (*.f64 a a)) (+.f64 1/81 (*.f64 (*.f64 a a) 1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a a) 3) -1/729) (+.f64 (*.f64 (*.f64 a a) (*.f64 a a)) (-.f64 1/81 (*.f64 (*.f64 a a) -1/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (+.f64 (*.f64 a a) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a a -1/9) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a a -1/9) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a a -1/9)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a a -1/9)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a a -1/9) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a a -1/9) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a a -1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a a -1/9)))))))

simplify167.0ms (1.5%)

Algorithm
egg-herbie
Rules
1366×sqr-pow_binary64
695×pow-sqr_binary64
617×cube-prod_binary64
606×fabs-mul_binary64
434×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
010111
11993
23093
34293
47193
517293
658893
7146093
8165093
9183493
10204293
11233793
12273193
13321493
14378293
15446693
16529993
17569793
18598593
19625793
20632993
21636593
22730693
Stop Event
node limit
Counts
86 → 70
Calls
Call 1
Inputs
-1/3
(-.f64 a 1/3)
(-.f64 a 1/3)
(-.f64 a 1/3)
a
(-.f64 a 1/3)
(-.f64 a 1/3)
(-.f64 a 1/3)
a
(-.f64 a 1/3)
(-.f64 a 1/3)
(-.f64 a 1/3)
-1/9
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (pow.f64 a 2) 1/9)
(pow.f64 a 2)
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (pow.f64 a 2) 1/9)
(pow.f64 a 2)
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (pow.f64 a 2) 1/9)
(-.f64 (pow.f64 a 2) 1/9)
Outputs
-1/3
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
a
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
(-.f64 a 1/3)
(+.f64 a -1/3)
-1/9
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(pow.f64 a 2)
(*.f64 a a)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(pow.f64 a 2)
(*.f64 a a)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)
(-.f64 (pow.f64 a 2) 1/9)
(+.f64 (*.f64 a a) -1/9)
(fma.f64 a a -1/9)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.2b
(*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)
0.4b
(/.f64 1/3 (sqrt.f64 a))
Compiler

Compiled 36 to 21 computations (41.7% saved)

series2.0ms (0%)

Counts
1 → 14
Calls

6 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.0ms
a
@0
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.0ms
a
@inf
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.0ms
rand
@-inf
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
0.0ms
rand
@0
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
623×prod-diff_binary64
489×log-prod_binary64
368×pow-prod-down_binary64
324×fma-def_binary64
262×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01015
121613
2280513
Stop Event
node limit
Counts
1 → 64
Calls
Call 1
Inputs
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 a (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 a 3) (pow.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 3)) (fma.f64 a a (-.f64 (pow.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 2) (*.f64 a (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 2)) (-.f64 a (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3)) a) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) a) (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) 3))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (-.f64 1 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))) (-.f64 1 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 a) (fma.f64 (sqrt.f64 (/.f64 1/9 a)) rand 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 a)) (exp.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (+.f64 1 (expm1.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1 (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1/9 a)) (*.f64 rand a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 rand (*.f64 (sqrt.f64 (/.f64 1/9 a)) a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) a a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (/.f64 1/9 a) (*.f64 rand rand))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 a a)) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 a a)) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) 1) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) 1) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (*.f64 (cbrt.f64 a) (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 1/4) (sqrt.f64 (pow.f64 a 3/2)) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 a 1/4) (sqrt.f64 (pow.f64 a 3/2)) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) 2) (cbrt.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (sqrt.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 a 3/2)) (pow.f64 a 1/4) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 a 3/2)) (pow.f64 a 1/4) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) (cbrt.f64 a)) (pow.f64 a 1/6) (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 a) (cbrt.f64 a)) (pow.f64 a 1/6) (*.f64 (*.f64 a (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 (/.f64 1/9 a))) rand a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1/9 a)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (cbrt.f64 (*.f64 (/.f64 1/9 a) (*.f64 rand rand)))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand))) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand)) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (sqrt.f64 a)) (sqrt.f64 a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1/9 a)) rand) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a) a)))))

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08129
113111
223111
329111
Stop Event
saturated
Counts
78 → 68
Calls
Call 1
Inputs
a
a
a
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
Outputs
a
a
a
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(fma.f64 1/3 (*.f64 (sqrt.f64 a) rand) a)
(fma.f64 (sqrt.f64 a) (*.f64 1/3 rand) a)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 9 a) 3)
0.1b
(sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3)))
0.3b
(/.f64 1 (-.f64 (*.f64 9 a) 3))
8.3b
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
Compiler

Compiled 45 to 33 computations (26.7% saved)

series6.0ms (0.1%)

Counts
2 → 19
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
rand
@0
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
a
@0
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
rand
@inf
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
1.0ms
a
@inf
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))

rewrite146.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
554×log-prod_binary64
411×exp-prod_binary64
371×pow-prod-down_binary64
298×pow2_binary64
209×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01221
125318
2299418
Stop Event
node limit
Counts
2 → 87
Calls
Call 1
Inputs
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(-.f64 (*.f64 9 a) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (/.f64 a (sqrt.f64 (fma.f64 a 9 -3))))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 rand) (/.f64 a (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (/.f64 a (sqrt.f64 (fma.f64 a 9 -3)))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 rand) (/.f64 a (sqrt.f64 (fma.f64 a 9 -3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 rand) (/.f64 a (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 rand a) (sqrt.f64 (fma.f64 a 9 -3)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a 9) -3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 a 9 -3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -3 (*.f64 a 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 a 9 -3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a 9 -3)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 a 9 -3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a 9 -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a 9 -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a 9 -3)) (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2) (cbrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a 9 -3)) (sqrt.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 729 (pow.f64 a 3) -27) (/.f64 1 (fma.f64 81 (*.f64 a a) (fma.f64 a 27 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 81 (*.f64 a a) -9) (/.f64 1 (fma.f64 a 9 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 81 (*.f64 a a) (fma.f64 a 27 9)) (fma.f64 729 (pow.f64 a 3) -27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 a 9 3) (fma.f64 81 (*.f64 a a) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 a 9 -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 2) (cbrt.f64 (/.f64 1 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 a 9 -3)) (pow.f64 (fma.f64 a 9 -3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 a 9 -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 729 (pow.f64 a 3) -27) (fma.f64 81 (*.f64 a a) (fma.f64 a 27 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 729 (pow.f64 a 3) -27) (fma.f64 81 (*.f64 a a) (-.f64 9 (*.f64 (*.f64 a 9) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 81 (*.f64 a a) -9) (fma.f64 a 9 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 729 (pow.f64 a 3) -27)) (neg.f64 (fma.f64 81 (*.f64 a a) (fma.f64 a 27 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 81 (*.f64 a a) -9)) (neg.f64 (fma.f64 a 9 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a 9 -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 a 9 -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) -2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a 9 -3) -3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a 9 -3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 a 9 -3))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a 9 -3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 81 (*.f64 a a) (fma.f64 a 27 9)) (fma.f64 729 (pow.f64 a 3) -27)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 a 9 3) (fma.f64 81 (*.f64 a a) -9)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 a 9 -3))) 2)) (cbrt.f64 (log.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 a 9 -3)))) (sqrt.f64 (log.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a 9 -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a 9 -3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a 9 -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a 9 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a 9 -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 a 9 -3) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 a 9 -3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a 9 -3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a 9 -3)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 9 -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 a 9) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 9 a -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a 9) 1 -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 a) 2) (*.f64 (cbrt.f64 a) 9) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a 9)) (pow.f64 (cbrt.f64 (*.f64 a 9)) 2) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 a 9)) 2) (cbrt.f64 (*.f64 a 9)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (*.f64 (sqrt.f64 a) 9) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (sqrt.f64 a)) (*.f64 3 (sqrt.f64 a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9 (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a) -3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9 (sqrt.f64 a)) (sqrt.f64 a) -3)))))

simplify72.0ms (0.7%)

Algorithm
egg-herbie
Rules
811×times-frac_binary64
736×associate-/l*_binary64
655×distribute-rgt-out_binary64
605×fma-def_binary64
475×associate-/r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
047382
1130375
2372370
31614320
47541311
Stop Event
node limit
Counts
106 → 100
Calls
Call 1
Inputs
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 a (*.f64 rand (sqrt.f64 -1/3)))
(+.f64 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) rand) (sqrt.f64 -1/3))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 3) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) rand) (sqrt.f64 -1/3)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 3) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 4) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (sqrt.f64 -1/3))))))
-3
(*.f64 9 a)
(*.f64 9 a)
Outputs
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (*.f64 a rand) (sqrt.f64 (/.f64 1 (fma.f64 9 a -3))))
(*.f64 a (*.f64 rand (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 rand (*.f64 a (sqrt.f64 (/.f64 1 (fma.f64 a 9 -3)))))
(*.f64 a (*.f64 rand (sqrt.f64 -1/3)))
(*.f64 rand (*.f64 a (sqrt.f64 -1/3)))
(+.f64 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) rand) (sqrt.f64 -1/3))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3))))
(fma.f64 -1/2 (/.f64 (*.f64 a a) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 rand (*.f64 a (sqrt.f64 -1/3))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (/.f64 (*.f64 (*.f64 (*.f64 rand -1/2) a) a) (sqrt.f64 -1/3)))
(*.f64 rand (+.f64 (*.f64 a (sqrt.f64 -1/3)) (/.f64 (*.f64 a a) (/.f64 (sqrt.f64 -1/3) -1/2))))
(*.f64 (*.f64 a rand) (+.f64 (sqrt.f64 -1/3) (/.f64 -1/2 (/.f64 (sqrt.f64 -1/3) a))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 3) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) rand) (sqrt.f64 -1/3)))))
(fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 rand (pow.f64 a 3)))) (fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3)))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 rand (pow.f64 a 3))) (fma.f64 -1/2 (/.f64 (*.f64 a a) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 rand (*.f64 a (sqrt.f64 -1/3)))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (+.f64 (*.f64 (/.f64 (*.f64 rand (pow.f64 a 3)) (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))) (*.f64 rand (/.f64 (*.f64 a a) (sqrt.f64 -1/3))))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 (*.f64 a (*.f64 a rand)) (*.f64 rand (*.f64 9/4 (pow.f64 a 3))))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (*.f64 rand (+.f64 (*.f64 9/4 (pow.f64 a 3)) (*.f64 a a)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (*.f64 (pow.f64 a 3) rand)) (sqrt.f64 -1/3))) (+.f64 (*.f64 a (*.f64 rand (sqrt.f64 -1/3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 2) rand) (sqrt.f64 -1/3))) (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 4) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))) (sqrt.f64 -1/3))))))
(fma.f64 -1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (/.f64 (sqrt.f64 -1/3) (*.f64 rand (pow.f64 a 3)))) (fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (+.f64 (/.f64 (*.f64 rand (*.f64 a a)) (sqrt.f64 -1/3)) (/.f64 (pow.f64 a 4) (/.f64 (sqrt.f64 -1/3) (*.f64 rand (+.f64 9 (*.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (pow.f64 (sqrt.f64 -1/3) 2)))))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) (sqrt.f64 -1/3)) (*.f64 rand (pow.f64 a 3))) (fma.f64 -1/2 (+.f64 (/.f64 (*.f64 a a) (/.f64 (sqrt.f64 -1/3) rand)) (*.f64 (/.f64 (pow.f64 a 4) (sqrt.f64 -1/3)) (*.f64 rand (fma.f64 1/2 (/.f64 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2)) -1/3) 9)))) (*.f64 rand (*.f64 a (sqrt.f64 -1/3)))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (*.f64 -1/2 (+.f64 (fma.f64 (/.f64 (*.f64 a a) (sqrt.f64 -1/3)) rand (*.f64 (*.f64 rand (+.f64 9 (*.f64 -3/2 (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))))) (/.f64 (pow.f64 a 4) (sqrt.f64 -1/3)))) (*.f64 (/.f64 (*.f64 rand (pow.f64 a 3)) (sqrt.f64 -1/3)) (+.f64 3 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) 2))))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 (/.f64 (pow.f64 a 4) (sqrt.f64 -1/3)) (*.f64 rand -45/16) (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (+.f64 (*.f64 a (*.f64 a rand)) (*.f64 rand (*.f64 9/4 (pow.f64 a 3)))))))
(fma.f64 a (*.f64 rand (sqrt.f64 -1/3)) (fma.f64 (/.f64 (pow.f64 a 4) (sqrt.f64 -1/3)) (*.f64 rand -45/16) (*.f64 (/.f64 -1/2 (sqrt.f64 -1/3)) (*.f64 rand (+.f64 (*.f64 9/4 (pow.f64 a 3)) (*.f64 a a))))))
-3
(*.f64 9 a)
(*.f64 a 9)
(*.f64 9 a)
(*.f64 a 9)

eval329.0ms (3%)

Compiler

Compiled 9905 to 6207 computations (37.3% saved)

prune148.0ms (1.4%)

Pruning

17 alts after pruning (12 fresh and 5 done)

PrunedKeptTotal
New6589667
Fresh235
Picked101
Done257
Total66317680
Error
0b
Counts
680 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
1.9b
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
44.2b
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
19.3b
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
1.6b
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
43.9b
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
38.5b
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
19.2b
(-.f64 a 1/3)
0.7b
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
60.2b
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
20.4b
a
50.0b
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
39.2b
(/.f64 (*.f64 a a) (-.f64 a -1/3))
63.0b
-1/3
50.1b
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
60.1b
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
50.1b
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
1.6b
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
Compiler

Compiled 169 to 123 computations (27.2% saved)

regimes131.0ms (1.2%)

Counts
36 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (fma.f64 a 9 -3)))))
(/.f64 (+.f64 (pow.f64 a 3) -1/27) (fma.f64 a a (+.f64 1/9 (*.f64 a 1/3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (fma.f64 a a -1/9)) (+.f64 a 1/3))
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 9 a -3) -1/2) rand 1) (+.f64 (pow.f64 a 3) -1/27)) (fma.f64 a a (fma.f64 a 1/3 1/9)))
Outputs
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
Calls

6 calls:

24.0ms
(-.f64 a (/.f64 1 3))
20.0ms
rand
20.0ms
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
19.0ms
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
19.0ms
(-.f64 a (/.f64 1 3))
Results
ErrorSegmentsBranch
0.1b1a
0.1b1rand
0.1b1(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
0.1b1(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 9 (-.f64 a (/.f64 1 3))))) rand)))
0.1b1(-.f64 a (/.f64 1 3))
0.1b1(-.f64 a (/.f64 1 3))
Compiler

Compiled 424 to 298 computations (29.7% saved)

regimes38.0ms (0.3%)

Counts
30 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))
Outputs
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))
Calls

2 calls:

15.0ms
rand
15.0ms
a
Results
ErrorSegmentsBranch
0.1b1a
0.1b1rand
Compiler

Compiled 262 to 168 computations (35.9% saved)

regimes39.0ms (0.4%)

Counts
29 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 (-.f64 a 1/3) rand) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
Outputs
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
Calls

2 calls:

16.0ms
a
15.0ms
rand
Results
ErrorSegmentsBranch
0.4b1a
0.4b1rand
Compiler

Compiled 246 to 155 computations (37% saved)

regimes34.0ms (0.3%)

Counts
26 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
Outputs
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
Calls

2 calls:

15.0ms
rand
13.0ms
a
Results
ErrorSegmentsBranch
0.4b1a
0.4b1rand
Compiler

Compiled 208 to 126 computations (39.4% saved)

regimes34.0ms (0.3%)

Counts
25 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
Outputs
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
Calls

2 calls:

14.0ms
rand
13.0ms
a
Results
ErrorSegmentsBranch
0.4b1a
0.4b1rand
Compiler

Compiled 196 to 118 computations (39.8% saved)

regimes32.0ms (0.3%)

Counts
24 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(sqrt.f64 (*.f64 1/9 (*.f64 (+.f64 a -1/3) (*.f64 rand rand))))
(*.f64 a (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 a (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 a (+.f64 1 (/.f64 rand (sqrt.f64 (*.f64 9 a)))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))
Outputs
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
Calls

2 calls:

13.0ms
a
12.0ms
rand
Results
ErrorSegmentsBranch
0.7b1a
0.7b1rand
Compiler

Compiled 184 to 110 computations (40.2% saved)

regimes51.0ms (0.5%)

Counts
18 → 3
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(sqrt.f64 (*.f64 1/9 (*.f64 a (*.f64 rand rand))))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1/9 a)))
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(/.f64 (fma.f64 a a -1/9) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand))
(*.f64 (*.f64 rand a) (sqrt.f64 (/.f64 1 (*.f64 a 9))))
Outputs
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
(-.f64 a 1/3)
(+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))
Calls

2 calls:

36.0ms
rand
10.0ms
a
Results
ErrorSegmentsBranch
1.9b1a
0.7b3rand
Compiler

Compiled 122 to 72 computations (41% saved)

bsearch59.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
1.0999983397036142e-63
2.1689550866017212e-60
30.0ms
-1.0406286794925802e+33
-5.40455458254348e+32
Compiler

Compiled 27 to 23 computations (14.8% saved)

regimes63.0ms (0.6%)

Counts
11 → 3
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(pow.f64 (/.f64 1 (+.f64 a -1/3)) -1)
Outputs
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
(-.f64 a 1/3)
(*.f64 1/3 (*.f64 (sqrt.f64 a) rand))
Calls

2 calls:

40.0ms
a
20.0ms
rand
Results
ErrorSegmentsBranch
15.6b5a
4.5b3rand
Compiler

Compiled 64 to 39 computations (39.1% saved)

bsearch91.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
45.0ms
7.0885085917935655e+81
3.886299238058071e+92
46.0ms
-1.64349747615508e+106
-8.145234799778355e+104
Compiler

Compiled 27 to 23 computations (14.8% saved)

regimes24.0ms (0.2%)

Counts
9 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
(-.f64 a 1/3)
(/.f64 (*.f64 a a) (-.f64 a -1/3))
(/.f64 (-.f64 (*.f64 a a) 1/9) (-.f64 a -1/3))
(/.f64 (/.f64 (-.f64 (*.f64 (*.f64 a a) (*.f64 a a)) 1/81) (-.f64 (*.f64 a a) -1/9)) (-.f64 a -1/3))
Outputs
(-.f64 a 1/3)
Calls

2 calls:

11.0ms
a
10.0ms
rand
Results
ErrorSegmentsBranch
19.2b1a
19.2b1rand
Compiler

Compiled 51 to 29 computations (43.1% saved)

regimes18.0ms (0.2%)

Accuracy

Total -43.0b remaining (-211.1%)

Threshold costs -43.0b (-211.1%)

Counts
5 → 1
Calls
Call 1
Inputs
-1/3
a
-1/3
-1/3
a
Outputs
a
Calls

2 calls:

9.0ms
rand
7.0ms
a
Results
ErrorSegmentsBranch
20.4b1a
20.4b1rand
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
10×+-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055194
184194
287194
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(if (<=.f64 rand -1040628679492580235719202956115968) (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (if (<=.f64 rand 8151750778359075/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (-.f64 a 1/3) (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))
(if (<=.f64 rand -16434974761550799199140420920256596195536001834205883008974998790376497705690598468090817494404662332227584) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (if (<=.f64 rand 7088508591793565477900967002520034072919968543265835752989970711783779181539622912) (-.f64 a 1/3) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))
(-.f64 a 1/3)
a
-1/3
Outputs
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (-.f64 (*.f64 9 a) 3))))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (sqrt.f64 (/.f64 1 (+.f64 (*.f64 a 9) -3))))))
(*.f64 (-.f64 a (/.f64 1 3)) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (+.f64 a -1/3)))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 (/.f64 rand 3) (sqrt.f64 (-.f64 a 1/3)))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 (-.f64 a 1/3)) rand)) a) 1/3)
(+.f64 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (-.f64 a 1/3))))) -1/3)
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 (-.f64 a 1/3))))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 (sqrt.f64 a) 3))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (/.f64 rand (*.f64 3 (sqrt.f64 a)))))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 (/.f64 1/3 (sqrt.f64 a)) rand)))
(*.f64 (-.f64 a 1/3) (+.f64 1 (*.f64 rand (/.f64 1/3 (sqrt.f64 a)))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) a) 1/3)
(+.f64 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 a)))) -1/3)
(+.f64 -1/3 (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 a)))))
(if (<=.f64 rand -1040628679492580235719202956115968) (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))) (if (<=.f64 rand 8151750778359075/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (-.f64 a 1/3) (+.f64 a (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)))))
(if (<=.f64 rand -1040628679492580235719202956115968) (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 a)))) (if (<=.f64 rand 8151750778359075/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (-.f64 a 1/3) (+.f64 a (*.f64 1/3 (*.f64 rand (sqrt.f64 a))))))
(if (<=.f64 rand -16434974761550799199140420920256596195536001834205883008974998790376497705690598468090817494404662332227584) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand)) (if (<=.f64 rand 7088508591793565477900967002520034072919968543265835752989970711783779181539622912) (-.f64 a 1/3) (*.f64 1/3 (*.f64 (sqrt.f64 a) rand))))
(if (<=.f64 rand -16434974761550799199140420920256596195536001834205883008974998790376497705690598468090817494404662332227584) (*.f64 1/3 (*.f64 rand (sqrt.f64 a))) (if (<=.f64 rand 7088508591793565477900967002520034072919968543265835752989970711783779181539622912) (-.f64 a 1/3) (*.f64 1/3 (*.f64 rand (sqrt.f64 a)))))
(-.f64 a 1/3)
a
-1/3
Compiler

Compiled 153 to 113 computations (26.1% saved)

soundness405.0ms (3.7%)

Algorithm
egg-herbie
Rules
1035×fma-def_binary64
742×fma-neg_binary64
189×distribute-rgt-in_binary64
173×cancel-sign-sub-inv_binary64
157×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01524
13221
28219
320319
451019
596819
6146819
7241919
8361919
9410019
10425619
11429519
12429519
13484819
14484819
Stop Event
saturated
Compiler

Compiled 389 to 334 computations (14.1% saved)

end163.0ms (1.5%)

Compiler

Compiled 133 to 87 computations (34.6% saved)

Profiling

Loading profile data...