Details

Time bar (total: 7.4s)

analyze37.0ms (0.5%)

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%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
25%25%74.9%0.1%0%0%0%4
37.5%37.5%62.4%0.1%0%0%0%5
56.3%56.2%43.7%0.1%0%0%0%6
65.6%65.6%34.3%0.1%0%0%0%7
76.6%76.5%23.4%0.1%0%0%0%8
82%82%18%0.1%0%0%0%9
87.9%87.8%12.1%0.1%0%0%0%10
90.8%90.7%9.2%0.1%0%0%0%11
93.8%93.8%6.1%0.1%0%0%0%12
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample833.0ms (11.3%)

Results
823.0ms8256×body256valid
Bogosity

preprocess24.0ms (0.3%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
11618
22018
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 a (*.f64 2 g)))
Outputs
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(cbrt.f64 (/.f64 a (*.f64 2 g)))
(cbrt.f64 (/.f64 a (*.f64 g 2)))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
1109
2129
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (*.f64 2 a)))
Outputs
(cbrt.f64 (/.f64 g (*.f64 2 a)))

eval0.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
14.3b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
14.3b
(cbrt.f64 (/.f64 g (*.f64 2 a)))
Compiler

Compiled 8 to 6 computations (25% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f64 g (*.f64 2 a))
13.8b
(cbrt.f64 (/.f64 g (*.f64 2 a)))
Compiler

Compiled 19 to 12 computations (36.8% saved)

series56.0ms (0.8%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
16.0ms
a
@-inf
(cbrt.f64 (/.f64 g (*.f64 2 a)))
1.0ms
g
@0
(cbrt.f64 (/.f64 g (*.f64 2 a)))
1.0ms
a
@0
(/.f64 g (*.f64 2 a))
1.0ms
g
@-inf
(cbrt.f64 (/.f64 g (*.f64 2 a)))
1.0ms
a
@inf
(cbrt.f64 (/.f64 g (*.f64 2 a)))
Compiler

Compiled 3795 to 2755 computations (27.4% saved)

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
745×pow1_binary64
695×add-log-exp_binary64
695×log1p-expm1-u_binary64
695×expm1-log1p-u_binary64
680×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
114616
2185716
Stop Event
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(/.f64 g (*.f64 2 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (pow.f64 (/.f64 1/2 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 g (/.f64 1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/2 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 g) (/.f64 1 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 a) g)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 g 1/2) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 2) (/.f64 (cbrt.f64 g) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) 2) (/.f64 (sqrt.f64 g) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) a) (/.f64 (sqrt.f64 g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 g 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) a) (/.f64 (cbrt.f64 g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (/.f64 g (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (/.f64 (sqrt.f64 g) (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 2 a))) (/.f64 g (sqrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 (*.f64 2 a))) (/.f64 (cbrt.f64 g) (sqrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (/.f64 a g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 g (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (*.f64 2 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))))))

simplify53.0ms (0.7%)

Algorithm
egg-herbie
Rules
707×log-prod_binary64
504×log-div_binary64
382×associate-*l/_binary64
342×fma-neg_binary64
331×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0153959
1356779
21261623
36337623
Stop Event
node limit
Counts
67 → 85
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 g) (pow.f64 (/.f64 1/2 a) 1/3))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (*.f64 a -2)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 2 a))))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 g (/.f64 1/2 a))
(*.f64 (*.f64 1/2 (/.f64 g a)) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(*.f64 1 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (/.f64 1/2 a)))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (/.f64 1/2 a)))
(*.f64 (neg.f64 g) (/.f64 1 (*.f64 a -2)))
(*.f64 (/.f64 1/2 a) g)
(*.f64 (*.f64 g 1/2) (/.f64 1 a))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 2) (/.f64 (cbrt.f64 g) a))
(*.f64 (/.f64 (sqrt.f64 g) 2) (/.f64 (sqrt.f64 g) a))
(*.f64 (/.f64 (sqrt.f64 g) a) (/.f64 (sqrt.f64 g) 2))
(*.f64 (/.f64 1 a) (*.f64 g 1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) a) (/.f64 (cbrt.f64 g) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (*.f64 2 a)))
(*.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (*.f64 2 a)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (/.f64 g (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (/.f64 (sqrt.f64 g) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 2 a))) (/.f64 g (sqrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 (*.f64 2 a))) (/.f64 (cbrt.f64 g) (sqrt.f64 (*.f64 2 a))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
(pow.f64 (*.f64 2 (/.f64 a g)) -1)
(neg.f64 (/.f64 g (*.f64 a -2)))
(sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))
(log.f64 (exp.f64 (*.f64 1/2 (/.f64 g a))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (*.f64 2 a) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 g) (pow.f64 (/.f64 1/2 a) 1/3))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) g)))
(/.f64 1 (cbrt.f64 (/.f64 a (/.f64 g 2))))
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(/.f64 (cbrt.f64 (neg.f64 g)) (cbrt.f64 (*.f64 a -2)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(/.f64 (neg.f64 (cbrt.f64 g)) (neg.f64 (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 g (/.f64 1/2 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 1/2 (/.f64 g a)) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 1 (*.f64 1/2 (/.f64 g a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (/.f64 1/2 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (/.f64 1/2 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (neg.f64 g) (/.f64 1 (*.f64 a -2)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1/2 a) g)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 g 1/2) (/.f64 1 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 1/2 (/.f64 g a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 2) (/.f64 (cbrt.f64 g) a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 g) 2) (/.f64 (sqrt.f64 g) a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 g) a) (/.f64 (sqrt.f64 g) 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1 a) (*.f64 g 1/2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) a) (/.f64 (cbrt.f64 g) 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (*.f64 2 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (*.f64 2 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (/.f64 g (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2)) (/.f64 g (cbrt.f64 (*.f64 a 2))))
(/.f64 (/.f64 g (cbrt.f64 (*.f64 a 2))) (pow.f64 (cbrt.f64 (*.f64 a 2)) 2))
(/.f64 g (*.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (cbrt.f64 (*.f64 a 2))))
(*.f64 (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (/.f64 (sqrt.f64 g) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2)) (/.f64 g (cbrt.f64 (*.f64 a 2))))
(/.f64 (/.f64 g (cbrt.f64 (*.f64 a 2))) (pow.f64 (cbrt.f64 (*.f64 a 2)) 2))
(/.f64 g (*.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (cbrt.f64 (*.f64 a 2))))
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 2 a))) (/.f64 g (sqrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 g (sqrt.f64 (*.f64 a 2))))
(/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2)))
(/.f64 g (*.f64 (sqrt.f64 (*.f64 a 2)) (sqrt.f64 (*.f64 a 2))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 (*.f64 2 a))) (/.f64 (cbrt.f64 g) (sqrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 g (sqrt.f64 (*.f64 a 2))))
(/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2)))
(/.f64 g (*.f64 (sqrt.f64 (*.f64 a 2)) (sqrt.f64 (*.f64 a 2))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (*.f64 2 (/.f64 a g)) -1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(neg.f64 (/.f64 g (*.f64 a -2)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(log.f64 (exp.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (*.f64 2 a) 3)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))

eval32.0ms (0.4%)

Compiler

Compiled 918 to 609 computations (33.7% saved)

prune26.0ms (0.4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New681785
Fresh000
Picked101
Done000
Total691786
Error
0.1b
Counts
86 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
41.6b
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
14.8b
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
0.8b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
1.0b
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
1.1b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
14.4b
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) g)))
40.1b
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
14.5b
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2)))
37.2b
(*.f64 (cbrt.f64 g) (pow.f64 (/.f64 1/2 a) 1/3))
1.0b
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
0.8b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
40.0b
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
42.1b
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
14.4b
(cbrt.f64 (/.f64 g (*.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (cbrt.f64 (*.f64 a 2)))))
14.1b
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
14.1b
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
41.9b
(cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3)))
Compiler

Compiled 386 to 302 computations (21.8% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
0.6b
(cbrt.f64 (*.f64 g 1/2))
0.6b
(cbrt.f64 a)
Compiler

Compiled 21 to 13 computations (38.1% saved)

series86.0ms (1.2%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
7.0ms
a
@0
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
1.0ms
a
@-inf
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
1.0ms
g
@0
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
1.0ms
a
@-inf
(cbrt.f64 a)
1.0ms
a
@inf
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
Compiler

Compiled 8125 to 6275 computations (22.8% saved)

rewrite54.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
812×pow1_binary64
758×add-log-exp_binary64
758×log1p-expm1-u_binary64
758×expm1-log1p-u_binary64
739×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
116318
2202018
Stop Event
node limit
Counts
3 → 72
Calls
Call 1
Inputs
(cbrt.f64 a)
(cbrt.f64 (*.f64 g 1/2))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/3) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 a) 1/3) (pow.f64 (sqrt.f64 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 a 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 a 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 a)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (*.f64 g 1/2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3) (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g 1/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 g 1/2) 1/6) (*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 1 (neg.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) 1) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 1/2) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a (*.f64 g 1/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (neg.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 g (/.f64 a 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))))))

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
531×fma-neg_binary64
452×associate-/r*_binary64
349×exp-prod_binary64
325×associate-*l/_binary64
315×log-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0152914
1315713
21386524
35076515
Stop Event
node limit
Counts
72 → 89
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 a)) 1)
(*.f64 (cbrt.f64 a) 1)
(*.f64 1 (cbrt.f64 a))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/3) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 (sqrt.f64 a) 1/3) (pow.f64 (sqrt.f64 a) 1/3))
(pow.f64 a 1/3)
(pow.f64 (cbrt.f64 a) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
(pow.f64 (pow.f64 a 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 a) 2))
(log.f64 (exp.f64 (cbrt.f64 a)))
(expm1.f64 (log1p.f64 (cbrt.f64 a)))
(log1p.f64 (expm1.f64 (cbrt.f64 a)))
(exp.f64 (log.f64 (cbrt.f64 a)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) 1)
(*.f64 (cbrt.f64 (*.f64 g 1/2)) 1)
(*.f64 1 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 g))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (cbrt.f64 g) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (*.f64 g 1/2) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3) (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3))
(pow.f64 (*.f64 g 1/2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 g 1/2))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 g 1/2))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 g 1/2))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 1)
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(*.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1)
(*.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 1 (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a))))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (/.f64 1 (cbrt.f64 a))))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 1 (neg.f64 (cbrt.f64 a))))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) 1) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 a)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 a 1/6)))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 1/2) (pow.f64 a 1/6)))
(pow.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2)
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 g 1/2))) -1)
(neg.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (neg.f64 (cbrt.f64 a))))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 a)) 1)
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (cbrt.f64 a) 1)
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 1 (cbrt.f64 a))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (pow.f64 1 1/3) (cbrt.f64 a))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/3) (cbrt.f64 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(*.f64 (pow.f64 (sqrt.f64 a) 1/3) (pow.f64 (sqrt.f64 a) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 a)) (cbrt.f64 (sqrt.f64 a)))
(pow.f64 (pow.f64 (sqrt.f64 a) 1/6) 4)
(pow.f64 a 1/3)
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(pow.f64 (cbrt.f64 a) 1)
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(pow.f64 (pow.f64 a 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(sqrt.f64 (pow.f64 (cbrt.f64 a) 2))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(log.f64 (exp.f64 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(expm1.f64 (log1p.f64 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(log1p.f64 (expm1.f64 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(exp.f64 (log.f64 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 a) 1))
(+.f64 (cbrt.f64 a) 0)
(cbrt.f64 a)
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 1 (cbrt.f64 (*.f64 g 1/2)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 g))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 g) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 g))
(*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (*.f64 g 1/2) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 g 1/2)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3) (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 g 1/2))) (cbrt.f64 (sqrt.f64 (*.f64 g 1/2))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/6) 4)
(pow.f64 (*.f64 g 1/2) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 g 1/2)) 1))
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 1 (cbrt.f64 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (/.f64 (*.f64 (cbrt.f64 1/2) 1) (cbrt.f64 a)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (/.f64 1 (cbrt.f64 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 1 (neg.f64 (cbrt.f64 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 (cbrt.f64 g) 1) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (cbrt.f64 g) (/.f64 (*.f64 (cbrt.f64 1/2) 1) (cbrt.f64 a)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 a)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 (cbrt.f64 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (/.f64 (*.f64 (cbrt.f64 1/2) 1) (cbrt.f64 a)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 (cbrt.f64 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 a 1/6)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 1/2) (pow.f64 a 1/6)))
(*.f64 (cbrt.f64 g) (/.f64 (*.f64 (cbrt.f64 1/2) 1) (cbrt.f64 a)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(pow.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 2)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 g 1/2))) -1)
(/.f64 1 (cbrt.f64 (/.f64 a (*.f64 g 1/2))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(neg.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (neg.f64 (cbrt.f64 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
13.8b
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
Compiler

Compiled 19 to 9 computations (52.6% saved)

series77.0ms (1.1%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
g
@-inf
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
0.0ms
a
@0
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
0.0ms
g
@inf
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
0.0ms
g
@0
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
0.0ms
a
@-inf
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
Compiler

Compiled 3195 to 2510 computations (21.4% saved)

rewrite41.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
726×pow1_binary64
676×add-log-exp_binary64
676×log1p-expm1-u_binary64
676×expm1-log1p-u_binary64
661×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11469
218129
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))))

simplify46.0ms (0.6%)

Algorithm
egg-herbie
Rules
624×fma-neg_binary64
579×unswap-sqr_binary64
481×log-prod_binary64
273×*-commutative_binary64
265×exp-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051312
197261
2276210
31110201
44129201
57178201
Stop Event
node limit
Counts
21 → 26
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/6) 4)
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) -1)
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
0.6b
(cbrt.f64 (/.f64 1/2 a))
0.6b
(cbrt.f64 g)
Compiler

Compiled 21 to 13 computations (38.1% saved)

series76.0ms (1%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
1.0ms
g
@-inf
(cbrt.f64 g)
1.0ms
a
@inf
(cbrt.f64 (/.f64 1/2 a))
1.0ms
g
@0
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
1.0ms
g
@-inf
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
1.0ms
a
@inf
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
Compiler

Compiled 7725 to 6035 computations (21.9% saved)

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
739×pow1_binary64
687×add-log-exp_binary64
687×log1p-expm1-u_binary64
687×expm1-log1p-u_binary64
669×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
116418
2191118
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(cbrt.f64 g)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 g) 2) 1/3) (cbrt.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 g) 1/3) (pow.f64 (sqrt.f64 g) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 g 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 g) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 g)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 g 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 g)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 1/2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (pow.f64 (/.f64 1 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1/2 a) 1/6) (pow.f64 (/.f64 1/2 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/3) (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (*.f64 a 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 1/2) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1/2) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 1/2)) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/2 a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 g)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g (*.f64 a 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g (*.f64 a 2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 a 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 g (*.f64 a 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))))))

simplify49.0ms (0.7%)

Algorithm
egg-herbie
Rules
549×fma-def_binary64
311×distribute-rgt-in_binary64
309×associate-*l*_binary64
301×fma-neg_binary64
291×exp-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0120663
1225516
2735381
33004372
Stop Event
node limit
Counts
57 → 76
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 g)) 1)
(*.f64 (cbrt.f64 g) 1)
(*.f64 1 (cbrt.f64 g))
(*.f64 (cbrt.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g)))
(*.f64 (pow.f64 g 1/6) (pow.f64 g 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 g))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 g) 2) 1/3) (cbrt.f64 (cbrt.f64 g)))
(*.f64 (pow.f64 (sqrt.f64 g) 1/3) (pow.f64 (sqrt.f64 g) 1/3))
(pow.f64 g 1/3)
(pow.f64 (cbrt.f64 g) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 g)) 3)
(pow.f64 (pow.f64 g 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 g) 2))
(log.f64 (exp.f64 (cbrt.f64 g)))
(expm1.f64 (log1p.f64 (cbrt.f64 g)))
(log1p.f64 (expm1.f64 (cbrt.f64 g)))
(exp.f64 (log.f64 (cbrt.f64 g)))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 1/2 a))) 1)
(*.f64 (cbrt.f64 (/.f64 1/2 a)) 1)
(*.f64 1 (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a)))
(*.f64 (cbrt.f64 1/2) (pow.f64 (/.f64 1 a) 1/3))
(*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a)))
(*.f64 (pow.f64 (/.f64 1/2 a) 1/6) (pow.f64 (/.f64 1/2 a) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/3) (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/3))
(/.f64 1 (cbrt.f64 (*.f64 a 2)))
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
(/.f64 (cbrt.f64 -1/2) (cbrt.f64 (neg.f64 a)))
(/.f64 (neg.f64 (cbrt.f64 1/2)) (neg.f64 (cbrt.f64 a)))
(pow.f64 (/.f64 1/2 a) 1/3)
(pow.f64 (cbrt.f64 (/.f64 1/2 a)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)
(pow.f64 (pow.f64 (/.f64 1/2 a) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 1/2 a))))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 1/2 a))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 1/2 a))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 1)
(/.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 g)) (cbrt.f64 a))
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))
(pow.f64 (cbrt.f64 (/.f64 g (*.f64 a 2))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 2)
(pow.f64 (/.f64 g (*.f64 a 2)) 1/3)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 a 2))) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(cbrt.f64 (/.f64 g (*.f64 a 2)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 g)) 1)
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (cbrt.f64 g) 1)
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 1 (cbrt.f64 g))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (cbrt.f64 (cbrt.f64 g)) (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g)))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (pow.f64 g 1/6) (pow.f64 g 1/6))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (pow.f64 1 1/3) (cbrt.f64 g))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 g) 2) 1/3) (cbrt.f64 (cbrt.f64 g)))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(*.f64 (pow.f64 (sqrt.f64 g) 1/3) (pow.f64 (sqrt.f64 g) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 g)) (cbrt.f64 (sqrt.f64 g)))
(pow.f64 (pow.f64 (sqrt.f64 g) 1/6) 4)
(pow.f64 g 1/3)
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(pow.f64 (cbrt.f64 g) 1)
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(pow.f64 (cbrt.f64 (cbrt.f64 g)) 3)
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(pow.f64 (pow.f64 g 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(sqrt.f64 (pow.f64 (cbrt.f64 g) 2))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(log.f64 (exp.f64 (cbrt.f64 g)))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(expm1.f64 (log1p.f64 (cbrt.f64 g)))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(log1p.f64 (expm1.f64 (cbrt.f64 g)))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(exp.f64 (log.f64 (cbrt.f64 g)))
(+.f64 1 (-.f64 (cbrt.f64 g) 1))
(+.f64 (cbrt.f64 g) 0)
(cbrt.f64 g)
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 1/2 a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (cbrt.f64 (/.f64 1/2 a)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 1 (cbrt.f64 (/.f64 1/2 a)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a)))
(*.f64 (cbrt.f64 1/2) (pow.f64 (/.f64 1 a) 1/3))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a)))
(*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
(*.f64 (pow.f64 (/.f64 1/2 a) 1/6) (pow.f64 (/.f64 1/2 a) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 1/2 a)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/3) (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 a))) (cbrt.f64 (sqrt.f64 (/.f64 1/2 a))))
(pow.f64 (pow.f64 (sqrt.f64 (/.f64 1/2 a)) 1/6) 4)
(/.f64 1 (cbrt.f64 (*.f64 a 2)))
(/.f64 1 (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))
(*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
(*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 -1/2) (cbrt.f64 (neg.f64 a)))
(/.f64 (neg.f64 (cbrt.f64 1/2)) (neg.f64 (cbrt.f64 a)))
(*.f64 (cbrt.f64 1/2) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 1/2) (cbrt.f64 a))
(pow.f64 (/.f64 1/2 a) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(pow.f64 (cbrt.f64 (/.f64 1/2 a)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(pow.f64 (pow.f64 (/.f64 1/2 a) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 1/2 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 1/2 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 1/2 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 1/2 a)) 1))
(+.f64 (cbrt.f64 (/.f64 1/2 a)) 0)
(cbrt.f64 (/.f64 1/2 a))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(/.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 g)) (cbrt.f64 a))
(/.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))
(/.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(pow.f64 (cbrt.f64 (/.f64 g (*.f64 a 2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))) 2)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(pow.f64 (/.f64 g (*.f64 a 2)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 a 2))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(cbrt.f64 (/.f64 g (*.f64 a 2)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 g (*.f64 a 2)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 (/.f64 g a) 2)) 1))
(+.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 0)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g a) 2))

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
0.3b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
0.6b
(cbrt.f64 g)
0.8b
(cbrt.f64 (*.f64 2 a))
Compiler

Compiled 31 to 20 computations (35.5% saved)

series114.0ms (1.5%)

Counts
3 → 0
Calls

15 calls:

TimeVariablePointExpression
1.0ms
g
@inf
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
1.0ms
a
@0
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
1.0ms
g
@-inf
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
1.0ms
a
@-inf
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
1.0ms
a
@inf
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
Compiler

Compiled 12110 to 9480 computations (21.7% saved)

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
959×pow1_binary64
893×add-log-exp_binary64
893×log1p-expm1-u_binary64
893×expm1-log1p-u_binary64
96×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01027
120424
2250624
Stop Event
node limit
Counts
3 → 96
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 2 a))
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 2 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (cbrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 a) 1/6) (pow.f64 (*.f64 2 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/3) (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 2 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)) (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (pow.f64 (/.f64 1 (cbrt.f64 g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) 1) (/.f64 (pow.f64 g 1/6) (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (cbrt.f64 g) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (pow.f64 g 1/6) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 2)) (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (cbrt.f64 g) (pow.f64 (*.f64 2 a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (pow.f64 (*.f64 2 a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 2 a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 2 a)))) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) 1) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (pow.f64 g 1/6)) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 g (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 a)) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (/.f64 1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 a) 1/6) (*.f64 (pow.f64 (*.f64 2 a) 1/6) (/.f64 1 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (*.f64 2 a))) (/.f64 1 (neg.f64 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 2 a) 1/6) 1) (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 g 1/6)) (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (pow.f64 g 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 2) (pow.f64 g 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (/.f64 g a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (neg.f64 (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 2 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))))))

simplify65.0ms (0.9%)

Algorithm
egg-herbie
Rules
692×fma-def_binary64
479×associate-*l/_binary64
337×associate-*r/_binary64
317×*-commutative_binary64
266×log-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02121138
14721074
218581074
359041068
Stop Event
node limit
Counts
96 → 119
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 2 a)))) 1)
(*.f64 (cbrt.f64 (*.f64 2 a)) 1)
(*.f64 1 (cbrt.f64 (*.f64 2 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 2) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (cbrt.f64 2))
(*.f64 (pow.f64 (*.f64 2 a) 1/6) (pow.f64 (*.f64 2 a) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 2 a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 2 a))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/3) (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/3))
(pow.f64 (*.f64 2 a) 1/3)
(pow.f64 (cbrt.f64 (*.f64 2 a)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 3)
(pow.f64 (pow.f64 (*.f64 2 a) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 2 a))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 2 a)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 a))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 2 a))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 2 a))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))))) 1)
(*.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)) (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (pow.f64 (/.f64 1 (cbrt.f64 g)) -1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (pow.f64 g 1/6) 1) (/.f64 (pow.f64 g 1/6) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (cbrt.f64 g) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (pow.f64 g 1/6) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 2)) (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)))
(*.f64 (/.f64 1 (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (cbrt.f64 g) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (/.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 2 a)))) (neg.f64 (cbrt.f64 g)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) 1) (cbrt.f64 g))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 (cbrt.f64 g)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (pow.f64 g 1/6)) (pow.f64 g 1/6))
(pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -1)
(pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 1)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 3) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))))))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 3))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))) 1)
(*.f64 (cbrt.f64 (*.f64 2 a)) (/.f64 1 (cbrt.f64 g)))
(*.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(*.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 1)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (/.f64 1 (cbrt.f64 g))))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 g))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(*.f64 (pow.f64 (*.f64 2 a) 1/6) (*.f64 (pow.f64 (*.f64 2 a) 1/6) (/.f64 1 (cbrt.f64 g))))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 2 a))) (/.f64 1 (neg.f64 (cbrt.f64 g))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g)))
(*.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(*.f64 (/.f64 (pow.f64 (*.f64 2 a) 1/6) 1) (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 g)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(*.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 1 (pow.f64 g 1/6)) (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 g 1/6)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (pow.f64 g 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (pow.f64 g 1/6)))
(*.f64 (/.f64 (cbrt.f64 2) (pow.f64 g 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)))
(pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 1)
(pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) -1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 2)
(pow.f64 (/.f64 2 (/.f64 g a)) 1/3)
(neg.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (neg.f64 (cbrt.f64 g))))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
Outputs
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 2 a)))) 1)
(cbrt.f64 (*.f64 2 a))
(*.f64 (cbrt.f64 (*.f64 2 a)) 1)
(cbrt.f64 (*.f64 2 a))
(*.f64 1 (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (*.f64 2 a))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)))
(cbrt.f64 (*.f64 2 a))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 2 a))))
(cbrt.f64 (*.f64 2 a))
(*.f64 (cbrt.f64 2) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (cbrt.f64 2))
(*.f64 (cbrt.f64 2) (cbrt.f64 a))
(*.f64 (pow.f64 (*.f64 2 a) 1/6) (pow.f64 (*.f64 2 a) 1/6))
(cbrt.f64 (*.f64 2 a))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (*.f64 2 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 2 a))))
(cbrt.f64 (*.f64 2 a))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/3) (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 a))) (cbrt.f64 (sqrt.f64 (*.f64 2 a))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 2 a)) 1/6) 4)
(pow.f64 (*.f64 2 a) 1/3)
(cbrt.f64 (*.f64 2 a))
(pow.f64 (cbrt.f64 (*.f64 2 a)) 1)
(cbrt.f64 (*.f64 2 a))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 3)
(cbrt.f64 (*.f64 2 a))
(pow.f64 (pow.f64 (*.f64 2 a) 1/6) 2)
(cbrt.f64 (*.f64 2 a))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))
(cbrt.f64 (*.f64 2 a))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 2 a))))
(cbrt.f64 (*.f64 2 a))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 2 a)))))
(cbrt.f64 (*.f64 2 a))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 a))))
(cbrt.f64 (*.f64 2 a))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 2 a))))
(cbrt.f64 (*.f64 2 a))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 2 a))))
(cbrt.f64 (*.f64 2 a))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))))) 1)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(*.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 1)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (/.f64 g 2) a))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)) (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (/.f64 g 2) a))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (pow.f64 (/.f64 1 (cbrt.f64 g)) -1))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) -1))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (pow.f64 g 1/6) 1) (/.f64 (pow.f64 g 1/6) (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (cbrt.f64 g) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2))) (/.f64 (pow.f64 g 1/6) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 2))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a)))
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a))) (cbrt.f64 2))
(*.f64 (/.f64 (pow.f64 g 1/6) (cbrt.f64 2)) (/.f64 (pow.f64 g 1/6) (cbrt.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 2)) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 2))
(*.f64 (/.f64 1 (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (cbrt.f64 g) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 2 a) 1/6)) (/.f64 (pow.f64 g 1/6) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 2 a)))) (neg.f64 (cbrt.f64 g)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) 1) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 (cbrt.f64 g)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (pow.f64 g 1/6)) (pow.f64 g 1/6))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -1)
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 1)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 3) 1/3)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) 3)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) 2)
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) 3))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 (/.f64 g 2) a))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))) 1)
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(*.f64 (cbrt.f64 (*.f64 2 a)) (/.f64 1 (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(*.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 1)
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (/.f64 1 (cbrt.f64 g))))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 g))))
(*.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(*.f64 (pow.f64 (*.f64 2 a) 1/6) (*.f64 (pow.f64 (*.f64 2 a) 1/6) (/.f64 1 (cbrt.f64 g))))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(*.f64 (neg.f64 (cbrt.f64 (*.f64 2 a))) (/.f64 1 (neg.f64 (cbrt.f64 g))))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 (cbrt.f64 2) 1) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 g))))
(*.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(*.f64 (/.f64 (pow.f64 (*.f64 2 a) 1/6) 1) (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 (cbrt.f64 g))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 (cbrt.f64 g))) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))))
(*.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (pow.f64 (*.f64 2 a) 1/6) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2))) (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 (cbrt.f64 g))))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 (cbrt.f64 g))) (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 (cbrt.f64 g))))
(*.f64 (/.f64 1 (pow.f64 g 1/6)) (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 g 1/6)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) 2)) (pow.f64 g 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) (pow.f64 g 1/6)))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 (cbrt.f64 2) (pow.f64 g 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 g 1/6)))
(*.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 g))))
(*.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 1)
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(pow.f64 (cbrt.f64 (/.f64 g (*.f64 2 a))) -1)
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 3)
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 2)
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(pow.f64 (/.f64 2 (/.f64 g a)) 1/3)
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(neg.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (neg.f64 (cbrt.f64 g))))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) 2))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (/.f64 (*.f64 2 a) g))

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 g (sqrt.f64 (*.f64 a 2)))
0.1b
(/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2)))
0.2b
(sqrt.f64 (*.f64 a 2))
6.7b
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
Compiler

Compiled 41 to 29 computations (29.3% saved)

series905.0ms (12.3%)

Counts
4 → 0
Calls

21 calls:

TimeVariablePointExpression
33.0ms
a
@0
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
8.0ms
a
@inf
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
3.0ms
a
@inf
(/.f64 g (sqrt.f64 (*.f64 a 2)))
2.0ms
a
@-inf
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
1.0ms
a
@0
(/.f64 g (sqrt.f64 (*.f64 a 2)))
Compiler

Compiled 54035 to 42935 computations (20.5% saved)

rewrite74.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
508×log-prod_binary64
385×exp-prod_binary64
349×prod-exp_binary64
283×pow-prod-down_binary64
231×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0931
119031
2252931
Stop Event
node limit
Counts
4 → 229
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
(sqrt.f64 (*.f64 a 2))
(/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2)))
(/.f64 g (sqrt.f64 (*.f64 a 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (*.f64 (/.f64 1 g) (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) (neg.f64 (pow.f64 (+.f64 a a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (log.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 1 g) (+.f64 a a))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 a a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 a a)) (pow.f64 (+.f64 a a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a a) 1/4) (pow.f64 (+.f64 a a) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 a a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 a a) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a a) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a a) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 a a)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a a) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 a a) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/2) (log.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (+.f64 a a))))) (sqrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 a a) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 a a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (+.f64 a a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a a) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a a)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a a)) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a)))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 g (/.f64 1 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/2 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a))) (/.f64 1 (neg.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a a) -1/2) (/.f64 g (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (/.f64 g 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) a) (/.f64 (cbrt.f64 g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) a) (/.f64 (sqrt.f64 g) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) 2) (/.f64 (sqrt.f64 g) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 2) (/.f64 (cbrt.f64 g) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 (+.f64 a a))) (/.f64 (cbrt.f64 g) (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 a a)) -2) (/.f64 g (cbrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g (cbrt.f64 (+.f64 a a))) (/.f64 (pow.f64 (+.f64 a a) -1/2) (pow.f64 (+.f64 a a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)) (/.f64 (sqrt.f64 g) (cbrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g 1) (/.f64 1 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) 1) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (+.f64 a a))) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (+.f64 a a))) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g (pow.f64 (+.f64 a a) 1/4)) (pow.f64 (+.f64 a a) -3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (pow.f64 (+.f64 a a) 1/4)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g (sqrt.f64 a)) (/.f64 (pow.f64 (+.f64 a a) -1/2) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/2) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (sqrt.f64 a)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 a)) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 5/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a a) g) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (neg.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (/.f64 g a)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (log.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (+.f64 a a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (+.f64 a a)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (log.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (log.f64 (+.f64 a a)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 (log.f64 (+.f64 a a)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 -1/2 (log.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a)))) (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (+.f64 a a))) (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 g (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 g (pow.f64 (+.f64 a a) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 g (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (pow.f64 (+.f64 a a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (pow.f64 (+.f64 a a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 g) (/.f64 1 (neg.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a a) -1/2) g)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (sqrt.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) 1) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) (cbrt.f64 (+.f64 a a))) (/.f64 (sqrt.f64 g) (pow.f64 (+.f64 a a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (+.f64 a a))) (/.f64 g (pow.f64 (+.f64 a a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 g (pow.f64 (+.f64 a a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/2) (/.f64 g (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 (+.f64 a a))) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (+.f64 a a) 1/4)) (/.f64 (cbrt.f64 g) (pow.f64 (+.f64 a a) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 g) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 g) (sqrt.f64 a)) (/.f64 (sqrt.f64 g) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2)) (cbrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))) (sqrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 g (neg.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (log.f64 (sqrt.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (+.f64 a a)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (+.f64 a a)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 g) 1) (*.f64 -1/2 (log.f64 (+.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (+.f64 a a))) (*.f64 (log.f64 g) 1)))))))

simplify87.0ms (1.2%)

Algorithm
egg-herbie
Rules
502×associate-/l/_binary64
302×sqr-pow_binary64
282×associate-/r/_binary64
263×log-prod_binary64
240×exp-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05112599
111682498
237782486
Stop Event
node limit
Counts
229 → 286
Calls
Call 1
Inputs
(+.f64 0 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/6))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 1 g) (+.f64 a a))))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6))
(/.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) (neg.f64 (pow.f64 (+.f64 a a) 1/6)))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/9)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2/3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(pow.f64 (exp.f64 1/3) (log.f64 (*.f64 1/2 (/.f64 g a))))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1 g) (+.f64 a a))) -1)
(pow.f64 (/.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) 1))
(+.f64 0 (sqrt.f64 (+.f64 a a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a a)))) 1)
(*.f64 (sqrt.f64 (+.f64 a a)) 1)
(*.f64 1 (sqrt.f64 (+.f64 a a)))
(*.f64 (cbrt.f64 (+.f64 a a)) (pow.f64 (+.f64 a a) 1/6))
(*.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (+.f64 a a)))
(*.f64 (pow.f64 (+.f64 a a) 1/4) (pow.f64 (+.f64 a a) 1/4))
(*.f64 (sqrt.f64 a) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 a))
(pow.f64 (+.f64 a a) 1/2)
(pow.f64 (sqrt.f64 (+.f64 a a)) 1)
(pow.f64 (*.f64 (*.f64 a a) 4) 1/4)
(pow.f64 (pow.f64 (+.f64 a a) 3) 1/6)
(pow.f64 (pow.f64 (+.f64 a a) 3/2) 1/3)
(pow.f64 (cbrt.f64 (+.f64 a a)) 3/2)
(pow.f64 (pow.f64 (+.f64 a a) 1/6) 3)
(pow.f64 (pow.f64 (+.f64 a a) 1/4) 2)
(pow.f64 (exp.f64 1/2) (log.f64 (+.f64 a a)))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (+.f64 a a))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (+.f64 a a))))) (sqrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))))
(fabs.f64 (sqrt.f64 (+.f64 a a)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a a)))))
(cbrt.f64 (pow.f64 (+.f64 a a) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a a))))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a a))))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a a))))
(exp.f64 (*.f64 (log.f64 (+.f64 a a)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (+.f64 a a))) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a a) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a a))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a a)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a a)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1) 1))
(+.f64 0 (*.f64 1/2 (/.f64 g a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a)))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 g (/.f64 1 (+.f64 a a)))
(*.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) -1/2))
(*.f64 (*.f64 1/2 (/.f64 g a)) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(*.f64 1 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/2)))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/2)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a))) (/.f64 1 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(*.f64 (pow.f64 (+.f64 a a) -1/2) (/.f64 g (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 1 a) (/.f64 g 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) a) (/.f64 (cbrt.f64 g) 2))
(*.f64 (/.f64 (sqrt.f64 g) a) (/.f64 (sqrt.f64 g) 2))
(*.f64 (/.f64 (sqrt.f64 g) 2) (/.f64 (sqrt.f64 g) a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 2) (/.f64 (cbrt.f64 g) a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 (+.f64 a a))) (/.f64 (cbrt.f64 g) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (+.f64 a a)))
(*.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (+.f64 a a)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 a a)) -2) (/.f64 g (cbrt.f64 (+.f64 a a))))
(*.f64 (/.f64 g (cbrt.f64 (+.f64 a a))) (/.f64 (pow.f64 (+.f64 a a) -1/2) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)) (/.f64 (sqrt.f64 g) (cbrt.f64 (+.f64 a a))))
(*.f64 (/.f64 g 1) (/.f64 1 (+.f64 a a)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) 1) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 a a))) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (+.f64 a a))) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 (/.f64 g (pow.f64 (+.f64 a a) 1/4)) (pow.f64 (+.f64 a a) -3/4))
(*.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) 1/4)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (pow.f64 (+.f64 a a) 1/4)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/4)))
(*.f64 (/.f64 g (sqrt.f64 a)) (/.f64 (pow.f64 (+.f64 a a) -1/2) (sqrt.f64 2)))
(*.f64 (pow.f64 a -1/2) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (sqrt.f64 2)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (sqrt.f64 a)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 a)) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 5/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 9)
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 6)
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 g a))))
(pow.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)) 1/3)
(pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)) 1/3)
(pow.f64 (/.f64 (+.f64 a a) g) -1)
(pow.f64 (/.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))))
(neg.f64 (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (neg.f64 (sqrt.f64 (+.f64 a a)))))
(sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))
(log.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)))
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (/.f64 g a)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) 3))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (log.f64 (+.f64 a a))))
(exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (+.f64 a a)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (+.f64 a a)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (log.f64 (sqrt.f64 (+.f64 a a)))))
(exp.f64 (-.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(exp.f64 (-.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 -1/2 (log.f64 (+.f64 a a)))))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a))))))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a)))) (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3)))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))
(exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (+.f64 a a))) (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1)))
(+.f64 0 (/.f64 g (sqrt.f64 (+.f64 a a))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 1)
(*.f64 g (pow.f64 (+.f64 a a) -1/2))
(*.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) 1)
(*.f64 1 (/.f64 g (sqrt.f64 (+.f64 a a))))
(*.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (pow.f64 (+.f64 a a) -1/2)))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (pow.f64 (+.f64 a a) -1/2)))
(*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (neg.f64 g) (/.f64 1 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(*.f64 (pow.f64 (+.f64 a a) -1/2) g)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 (sqrt.f64 g) 1) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (/.f64 (sqrt.f64 g) (cbrt.f64 (+.f64 a a))) (/.f64 (sqrt.f64 g) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 a a))) (/.f64 g (pow.f64 (+.f64 a a) 1/6)))
(*.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 g (pow.f64 (+.f64 a a) 1/4)))
(*.f64 (pow.f64 a -1/2) (/.f64 g (sqrt.f64 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 (+.f64 a a))) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (+.f64 a a) 1/4)) (/.f64 (cbrt.f64 g) (pow.f64 (+.f64 a a) 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 g) (sqrt.f64 2)))
(*.f64 (/.f64 (sqrt.f64 g) (sqrt.f64 a)) (/.f64 (sqrt.f64 g) (sqrt.f64 2)))
(pow.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) 1)
(pow.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))) 1/2)
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 3)
(pow.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 2)
(pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -1)
(pow.f64 (exp.f64 1) (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(pow.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)) 1/3)
(pow.f64 (/.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2)) (cbrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))) (sqrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(neg.f64 (/.f64 g (neg.f64 (sqrt.f64 (+.f64 a a)))))
(sqrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))))
(log.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3))
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)))
(expm1.f64 (log1p.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(log1p.f64 (expm1.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(exp.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(exp.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g)) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) 1))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (log.f64 (sqrt.f64 (+.f64 a a)))))
(exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 g) 1) (*.f64 -1/2 (log.f64 (+.f64 a a)))))
(exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (+.f64 a a))) (*.f64 (log.f64 g) 1)))
Outputs
(+.f64 0 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 1)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/6))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 1 g) (+.f64 a a))))
(/.f64 1 (cbrt.f64 (*.f64 (+.f64 a a) (/.f64 1 g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(/.f64 1 (/.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(*.f64 (/.f64 1 (pow.f64 (+.f64 a a) 1/6)) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 1 (pow.f64 (+.f64 a a) 1/6)))
(/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6))
(*.f64 (/.f64 1 (pow.f64 (+.f64 a a) 1/6)) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 1 (pow.f64 (+.f64 a a) 1/6)))
(/.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 (cbrt.f64 (/.f64 g (neg.f64 (sqrt.f64 (+.f64 a a))))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) (neg.f64 (pow.f64 (+.f64 a a) 1/6)))
(*.f64 (/.f64 1 (pow.f64 (+.f64 a a) 1/6)) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 1 (pow.f64 (+.f64 a a) 1/6)))
(/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/9)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/2)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2/3)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
(*.f64 (pow.f64 (*.f64 (+.f64 a a) (/.f64 1 g)) -1/6) (pow.f64 (*.f64 (+.f64 a a) (/.f64 1 g)) -1/6))
(*.f64 (pow.f64 (/.f64 2 (/.f64 g a)) -1/6) (pow.f64 (/.f64 2 (/.f64 g a)) -1/6))
(*.f64 (pow.f64 (*.f64 (/.f64 2 g) a) -1/6) (pow.f64 (*.f64 (/.f64 2 g) a) -1/6))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (exp.f64 1/3) (log.f64 (*.f64 1/2 (/.f64 g a))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1 g) (+.f64 a a))) -1)
(/.f64 1 (cbrt.f64 (*.f64 (+.f64 a a) (/.f64 1 g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(pow.f64 (/.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) -1)
(*.f64 (/.f64 1 (pow.f64 (+.f64 a a) 1/6)) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 1 (pow.f64 (+.f64 a a) 1/6)))
(/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 3))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) 2))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1) 1/3))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) 1))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) 1))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(+.f64 0 (sqrt.f64 (+.f64 a a)))
(sqrt.f64 (+.f64 a a))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a a)))) 1)
(sqrt.f64 (+.f64 a a))
(*.f64 (sqrt.f64 (+.f64 a a)) 1)
(sqrt.f64 (+.f64 a a))
(*.f64 1 (sqrt.f64 (+.f64 a a)))
(sqrt.f64 (+.f64 a a))
(*.f64 (cbrt.f64 (+.f64 a a)) (pow.f64 (+.f64 a a) 1/6))
(sqrt.f64 (+.f64 a a))
(*.f64 (pow.f64 (+.f64 a a) 1/6) (cbrt.f64 (+.f64 a a)))
(sqrt.f64 (+.f64 a a))
(*.f64 (pow.f64 (+.f64 a a) 1/4) (pow.f64 (+.f64 a a) 1/4))
(sqrt.f64 (+.f64 a a))
(*.f64 (sqrt.f64 a) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 2))
(pow.f64 (+.f64 a a) 1/2)
(sqrt.f64 (+.f64 a a))
(pow.f64 (sqrt.f64 (+.f64 a a)) 1)
(sqrt.f64 (+.f64 a a))
(pow.f64 (*.f64 (*.f64 a a) 4) 1/4)
(pow.f64 (*.f64 a (*.f64 a 4)) 1/4)
(pow.f64 (pow.f64 (+.f64 a a) 3) 1/6)
(pow.f64 (*.f64 (pow.f64 a 3) 8) 1/6)
(pow.f64 (pow.f64 (+.f64 a a) 3/2) 1/3)
(sqrt.f64 (+.f64 a a))
(pow.f64 (cbrt.f64 (+.f64 a a)) 3/2)
(pow.f64 (pow.f64 (+.f64 a a) 1/6) 3)
(sqrt.f64 (+.f64 a a))
(pow.f64 (pow.f64 (+.f64 a a) 1/4) 2)
(sqrt.f64 (+.f64 a a))
(pow.f64 (exp.f64 1/2) (log.f64 (+.f64 a a)))
(sqrt.f64 (+.f64 a a))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (+.f64 a a))))
(sqrt.f64 (+.f64 a a))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (+.f64 a a))))) (sqrt.f64 (log.f64 (sqrt.f64 (+.f64 a a)))))
(fabs.f64 (sqrt.f64 (+.f64 a a)))
(sqrt.f64 (+.f64 a a))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a a))))
(sqrt.f64 (+.f64 a a))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a a)))))
(sqrt.f64 (+.f64 a a))
(cbrt.f64 (pow.f64 (+.f64 a a) 3/2))
(sqrt.f64 (+.f64 a a))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a a))))
(sqrt.f64 (+.f64 a a))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a a))))
(sqrt.f64 (+.f64 a a))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a a))))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (log.f64 (+.f64 a a)) 1/2))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (+.f64 a a))) 1/3))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a a) 1/6)) 3))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a a))) 2))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a a)) 1) 1/2))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a a)) 1/2) 1))
(sqrt.f64 (+.f64 a a))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1) 1))
(sqrt.f64 (+.f64 a a))
(+.f64 0 (*.f64 1/2 (/.f64 g a)))
(*.f64 1/2 (/.f64 g a))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a)))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a)))))) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 1/2 (/.f64 g a))
(*.f64 g (/.f64 1 (+.f64 a a)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) -1/2))
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 1/2 (/.f64 g a)) 1)
(*.f64 1/2 (/.f64 g a))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(*.f64 1/2 (/.f64 g a))
(*.f64 1 (*.f64 1/2 (/.f64 g a)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/2)))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (pow.f64 (+.f64 a a) -1/2) (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (pow.f64 (+.f64 a a) -1/2) (cbrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g)))))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) -1/2)))
(*.f64 1/2 (/.f64 g a))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a))) (/.f64 1 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (+.f64 a a) -1/2) (/.f64 g (sqrt.f64 (+.f64 a a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1 a) (/.f64 g 2))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) a) (/.f64 (cbrt.f64 g) 2))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 g) a) (/.f64 (sqrt.f64 g) 2))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 g) 2) (/.f64 (sqrt.f64 g) a))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 2) (/.f64 (cbrt.f64 g) a))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 (+.f64 a a))) (/.f64 (cbrt.f64 g) (sqrt.f64 (+.f64 a a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (+.f64 a a)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 g) 1) (/.f64 (sqrt.f64 g) (+.f64 a a)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 a a)) -2) (/.f64 g (cbrt.f64 (+.f64 a a))))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 a a)) -2) (/.f64 (cbrt.f64 (+.f64 a a)) g))
(*.f64 (/.f64 g (cbrt.f64 (+.f64 a a))) (/.f64 (pow.f64 (+.f64 a a) -1/2) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)))
(*.f64 (/.f64 (sqrt.f64 g) (pow.f64 (cbrt.f64 (+.f64 a a)) 2)) (/.f64 (sqrt.f64 g) (cbrt.f64 (+.f64 a a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 g 1) (/.f64 1 (+.f64 a a)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) 1) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))
(/.f64 (*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))))) (sqrt.f64 (+.f64 a a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g))) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 (cbrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g))) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 a a))) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (+.f64 a a))) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/6)))
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 g (pow.f64 (+.f64 a a) 1/4)) (pow.f64 (+.f64 a a) -3/4))
(/.f64 (*.f64 g (pow.f64 (+.f64 a a) -3/4)) (pow.f64 (+.f64 a a) 1/4))
(*.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (pow.f64 (+.f64 a a) 1/4)))
(*.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 g (*.f64 (pow.f64 (+.f64 a a) 1/4) (sqrt.f64 (+.f64 a a)))))
(/.f64 (*.f64 g (pow.f64 (+.f64 a a) -1/4)) (pow.f64 (pow.f64 (+.f64 a a) 1/4) 3))
(*.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 g (pow.f64 (pow.f64 (+.f64 a a) 1/4) 3)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (pow.f64 (+.f64 a a) 1/4)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (pow.f64 (+.f64 a a) 1/4)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))))) (sqrt.f64 (+.f64 a a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g))) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (+.f64 a a))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 (cbrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g))) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 g (sqrt.f64 a)) (/.f64 (pow.f64 (+.f64 a a) -1/2) (sqrt.f64 2)))
(/.f64 (/.f64 g (*.f64 (sqrt.f64 (+.f64 a a)) (sqrt.f64 2))) (sqrt.f64 a))
(/.f64 (/.f64 g (sqrt.f64 2)) (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 a a))))
(*.f64 (pow.f64 a -1/2) (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (sqrt.f64 2)))
(*.f64 (pow.f64 a -1/2) (/.f64 g (*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 a a)))))
(*.f64 (pow.f64 a -1/2) (/.f64 g (*.f64 (sqrt.f64 (+.f64 a a)) (sqrt.f64 2))))
(/.f64 (pow.f64 a -1/2) (*.f64 (/.f64 (sqrt.f64 2) g) (sqrt.f64 (+.f64 a a))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (sqrt.f64 a)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))
(/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g))) (/.f64 (sqrt.f64 a) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g))) (sqrt.f64 a)) (/.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))
(*.f64 (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 a)) (/.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 2)))
(*.f64 (/.f64 g (sqrt.f64 a)) (/.f64 (pow.f64 (+.f64 a a) -1/2) (sqrt.f64 2)))
(/.f64 (/.f64 g (*.f64 (sqrt.f64 (+.f64 a a)) (sqrt.f64 2))) (sqrt.f64 a))
(/.f64 (/.f64 g (sqrt.f64 2)) (*.f64 (sqrt.f64 a) (sqrt.f64 (+.f64 a a))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 5/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 5/6))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2) 1/2)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 9)
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 6)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(pow.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)))
(cbrt.f64 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 a 3) 8)))
(pow.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)))
(pow.f64 (/.f64 (+.f64 a a) g) -1)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (/.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) 1) -1)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))) (sqrt.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))))
(neg.f64 (/.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) (neg.f64 (sqrt.f64 (+.f64 a a)))))
(*.f64 1/2 (/.f64 g a))
(sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))
(*.f64 1/2 (/.f64 g a))
(log.f64 (sqrt.f64 (exp.f64 (/.f64 g a))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3)))
(cbrt.f64 (/.f64 (pow.f64 g 3) (*.f64 (pow.f64 a 3) 8)))
(cbrt.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) (pow.f64 (+.f64 a a) 3/2)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (/.f64 g a)))) 1/3))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 1/2 (/.f64 g a)))) -1))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1) 1))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) 3))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) 3))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (log.f64 (+.f64 a a))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (+.f64 a a)) 1)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (+.f64 a a)) 1)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (log.f64 (sqrt.f64 (+.f64 a a)))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (-.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) (*.f64 -1/2 (log.f64 (+.f64 a a)))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a))))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1) (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a))))))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a)))) (*.f64 (log.f64 (*.f64 1/2 (/.f64 g a))) 1/3)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 1/2 (/.f64 g a)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))
(*.f64 1/2 (/.f64 g a))
(exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (+.f64 a a))) (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1)))
(*.f64 1/2 (/.f64 g a))
(+.f64 0 (/.f64 g (sqrt.f64 (+.f64 a a))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 1)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 g (pow.f64 (+.f64 a a) -1/2))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) 1)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 1 (/.f64 g (sqrt.f64 (+.f64 a a))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (pow.f64 (cbrt.f64 g) 2) (*.f64 (cbrt.f64 g) (pow.f64 (+.f64 a a) -1/2)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g))))
(*.f64 (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g))))
(*.f64 (sqrt.f64 g) (*.f64 (sqrt.f64 g) (pow.f64 (+.f64 a a) -1/2)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (neg.f64 g) (/.f64 1 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (pow.f64 (+.f64 a a) -1/2) g)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) 1) (/.f64 (cbrt.f64 g) (sqrt.f64 (+.f64 a a))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (/.f64 (sqrt.f64 g) 1) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 g))
(*.f64 (/.f64 (sqrt.f64 g) (cbrt.f64 (+.f64 a a))) (/.f64 (sqrt.f64 g) (pow.f64 (+.f64 a a) 1/6)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 a a))) (/.f64 g (pow.f64 (+.f64 a a) 1/6)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (pow.f64 (+.f64 a a) -1/4) (/.f64 g (pow.f64 (+.f64 a a) 1/4)))
(*.f64 (/.f64 g (pow.f64 (+.f64 a a) 1/4)) (pow.f64 (+.f64 a a) -1/4))
(/.f64 (*.f64 g (pow.f64 (+.f64 a a) -1/4)) (pow.f64 (+.f64 a a) 1/4))
(*.f64 (pow.f64 a -1/2) (/.f64 g (sqrt.f64 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 (+.f64 a a))) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(*.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) (/.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 (+.f64 a a))))
(/.f64 (pow.f64 (cbrt.f64 g) 2) (/.f64 (cbrt.f64 (+.f64 a a)) (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (pow.f64 (+.f64 a a) 1/4)) (/.f64 (cbrt.f64 g) (pow.f64 (+.f64 a a) 1/4)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 g) (sqrt.f64 2)))
(/.f64 (/.f64 g (sqrt.f64 a)) (sqrt.f64 2))
(/.f64 g (*.f64 (sqrt.f64 a) (sqrt.f64 2)))
(*.f64 (/.f64 (sqrt.f64 g) (sqrt.f64 a)) (/.f64 (sqrt.f64 g) (sqrt.f64 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 g) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 g) (sqrt.f64 2)))
(/.f64 (/.f64 g (sqrt.f64 a)) (sqrt.f64 2))
(/.f64 g (*.f64 (sqrt.f64 a) (sqrt.f64 2)))
(pow.f64 (/.f64 g (sqrt.f64 (+.f64 a a))) 1)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))) 1/2)
(sqrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g)))
(sqrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g)))
(pow.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3) 1/3)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 3)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 2)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -1)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (exp.f64 1) (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)))
(pow.f64 (/.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) 1) -1)
(/.f64 g (sqrt.f64 (+.f64 a a)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2)) (cbrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))) (sqrt.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(neg.f64 (/.f64 g (neg.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(sqrt.f64 (*.f64 g (*.f64 1/2 (/.f64 g a))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 g a) g)))
(sqrt.f64 (*.f64 (/.f64 g a) (*.f64 1/2 g)))
(log.f64 (exp.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(cbrt.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(cbrt.f64 (/.f64 (pow.f64 g 3) (pow.f64 (+.f64 a a) 3/2)))
(expm1.f64 (log1p.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(log1p.f64 (expm1.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g) -3)) 1/3))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 3))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 g (sqrt.f64 (+.f64 a a))))) 2))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 (+.f64 a a)) g)) -1))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 g (sqrt.f64 (+.f64 a a)))) 1) 1))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (log.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (+.f64 a a)) 1/2)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (-.f64 (log.f64 g) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (-.f64 (*.f64 (log.f64 g) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 a a))) 1)))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (+.f64 (*.f64 (log.f64 g) 1) (*.f64 -1/2 (log.f64 (+.f64 a a)))))
(/.f64 g (sqrt.f64 (+.f64 a a)))
(exp.f64 (+.f64 (*.f64 -1/2 (log.f64 (+.f64 a a))) (*.f64 (log.f64 g) 1)))
(/.f64 g (sqrt.f64 (+.f64 a a)))

eval191.0ms (2.6%)

Compiler

Compiled 8863 to 5324 computations (39.9% saved)

prune180.0ms (2.4%)

Pruning

38 alts after pruning (34 fresh and 4 done)

PrunedKeptTotal
New63231663
Fresh9312
Picked101
Done044
Total64238680
Error
0.0b
Counts
680 → 38
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
41.5b
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
15.1b
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 3)
1.6b
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3) (cbrt.f64 a))
1.2b
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 2))
0.9b
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))
37.6b
(/.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
1.6b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 3))
37.2b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/3))
35.5b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (*.f64 (cbrt.f64 (sqrt.f64 a)) (cbrt.f64 (sqrt.f64 a))))
0.8b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
1.0b
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
0.9b
(/.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
1.8b
(/.f64 1 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 3) (cbrt.f64 g)))
1.2b
(/.f64 1 (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 2)) (cbrt.f64 g)))
1.7b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g)))))
30.4b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (*.f64 (cbrt.f64 (sqrt.f64 g)) (cbrt.f64 (sqrt.f64 g)))))
1.1b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
14.2b
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a))))
1.1b
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
14.4b
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
14.7b
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
14.2b
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
1.5b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 3) (cbrt.f64 (/.f64 1/2 a)))
1.4b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a)))
0.8b
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
1.5b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g))) (cbrt.f64 (/.f64 1/2 a)))
14.1b
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
1.5b
(*.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3))
4.4b
(*.f64 (cbrt.f64 g) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a)))))
0.8b
(*.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a))))
0.8b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
14.9b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1))
40.0b
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
50.2b
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (pow.f64 (*.f64 (*.f64 a a) 4) 1/4)))
14.1b
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
14.1b
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
41.9b
(cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3)))
Compiler

Compiled 871 to 677 computations (22.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (cbrt.f64 a))
0.4b
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
0.6b
(cbrt.f64 (*.f64 g 1/2))
0.6b
(cbrt.f64 a)
Compiler

Compiled 28 to 18 computations (35.7% saved)

series57.0ms (0.8%)

Counts
2 → 0
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(/.f64 1 (cbrt.f64 a))
1.0ms
a
@0
(/.f64 1 (cbrt.f64 a))
1.0ms
a
@0
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
0.0ms
a
@-inf
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
0.0ms
a
@inf
(/.f64 1 (cbrt.f64 a))
Compiler

Compiled 6650 to 5100 computations (23.3% saved)

rewrite76.0ms (1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01017
119515
2219615
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 1 (cbrt.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 g 1/2) 1/6) (/.f64 (cbrt.f64 a) (pow.f64 (*.f64 g 1/2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (*.f64 g 1/2))) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) 1) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (cbrt.f64 (*.f64 g 1/2))) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 g 1/2)) -1) (neg.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (*.f64 g 1/2) a))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3) (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 g 1/2) (pow.f64 (/.f64 1 (cbrt.f64 a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (cbrt.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a) -1/2) (pow.f64 (cbrt.f64 a) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 a 1/6) -1) (pow.f64 (pow.f64 a 1/6) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 a -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 a) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (cbrt.f64 a))))))))

simplify46.0ms (0.6%)

Algorithm
egg-herbie
Rules
580×associate-*l*_binary64
517×associate-*r*_binary64
375×log-prod_binary64
340×unswap-sqr_binary64
283×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0109620
1243521
2754398
34963398
Stop Event
node limit
Counts
46 → 59
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 1)
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))
(/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (/.f64 (cbrt.f64 a) (pow.f64 (*.f64 g 1/2) 1/6)))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 g 1/2))) (neg.f64 (cbrt.f64 a)))
(/.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)) (pow.f64 a 1/6))
(/.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) 1) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (cbrt.f64 (cbrt.f64 a)))
(/.f64 (*.f64 -1 (cbrt.f64 (*.f64 g 1/2))) (neg.f64 (cbrt.f64 a)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 g 1/2)) -1) (neg.f64 (cbrt.f64 a)))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3) (*.f64 g 1/2)))
(cbrt.f64 (*.f64 (*.f64 g 1/2) (pow.f64 (/.f64 1 (cbrt.f64 a)) 3)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(-.f64 (+.f64 1 (/.f64 1 (cbrt.f64 a))) 1)
(*.f64 1 (/.f64 1 (cbrt.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (pow.f64 (cbrt.f64 a) -1/2) (pow.f64 (cbrt.f64 a) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 a)) -1))
(*.f64 (pow.f64 (pow.f64 a 1/6) -1) (pow.f64 (pow.f64 a 1/6) -1))
(pow.f64 a -1/3)
(pow.f64 (cbrt.f64 a) -1)
(pow.f64 (/.f64 1 (cbrt.f64 a)) 1)
(pow.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) 3)
(pow.f64 (pow.f64 (cbrt.f64 a) -1/2) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 a) -2))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 a))))
(cbrt.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 a))))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 a))))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 a))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (/.f64 (cbrt.f64 a) (pow.f64 (*.f64 g 1/2) 1/6)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 g 1/2))) (neg.f64 (cbrt.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)) (pow.f64 a 1/6))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) 1) (cbrt.f64 a))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (*.f64 -1 (cbrt.f64 (*.f64 g 1/2))) (neg.f64 (cbrt.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(/.f64 (*.f64 (cbrt.f64 (*.f64 g 1/2)) -1) (neg.f64 (cbrt.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3) (*.f64 g 1/2)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (*.f64 (*.f64 g 1/2) (pow.f64 (/.f64 1 (cbrt.f64 a)) 3)))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2))) 1))
(+.f64 (cbrt.f64 (*.f64 (/.f64 g a) 1/2)) 0)
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(-.f64 (+.f64 1 (/.f64 1 (cbrt.f64 a))) 1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(*.f64 1 (/.f64 1 (cbrt.f64 a)))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(*.f64 (/.f64 1 (cbrt.f64 a)) 1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) -2)) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 a) -1/2) (pow.f64 (cbrt.f64 a) -1/2))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 a))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 a)) -1))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(*.f64 (pow.f64 (pow.f64 a 1/6) -1) (pow.f64 (pow.f64 a 1/6) -1))
(pow.f64 (pow.f64 a 1/6) -2)
(pow.f64 a -1/3)
(*.f64 (pow.f64 a -1/6) (pow.f64 a -1/6))
(pow.f64 (cbrt.f64 a) -1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(pow.f64 (/.f64 1 (cbrt.f64 a)) 1)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(pow.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 a))) 3)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(pow.f64 (pow.f64 (cbrt.f64 a) -1/2) 2)
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(sqrt.f64 (pow.f64 (cbrt.f64 a) -2))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 a))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(cbrt.f64 (pow.f64 (/.f64 1 (cbrt.f64 a)) 3))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 a))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 a))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 a))))
(+.f64 1 (-.f64 (/.f64 1 (cbrt.f64 a)) 1))
(+.f64 (/.f64 1 (cbrt.f64 a)) 0)
(/.f64 1 (cbrt.f64 a))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1/2 a) g)
13.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
Compiler

Compiled 19 to 12 computations (36.8% saved)

series39.0ms (0.5%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
0.0ms
a
@0
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
0.0ms
a
@-inf
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
0.0ms
a
@inf
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
0.0ms
g
@inf
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
0.0ms
g
@-inf
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
Compiler

Compiled 3795 to 2755 computations (27.4% saved)

rewrite44.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
690×pow1_binary64
643×add-log-exp_binary64
643×log1p-expm1-u_binary64
643×expm1-log1p-u_binary64
629×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
114716
2176316
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
(*.f64 (/.f64 1/2 a) g)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 a g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 g (*.f64 a 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a (*.f64 1/2 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 g) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 g)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 g) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 g) (sqrt.f64 a)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 g) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 g -1/2) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 g) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 a) 3) (pow.f64 g 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 g 3) (pow.f64 (/.f64 1/2 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))))))

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Rules
766×fma-def_binary64
550×log-prod_binary64
410×log-div_binary64
272×fma-neg_binary64
259×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0100602
1226479
2817356
33768356
Stop Event
node limit
Counts
44 → 50
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 g))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)
(/.f64 1/2 (/.f64 a g))
(/.f64 g (*.f64 a 2))
(/.f64 1 (/.f64 a (*.f64 1/2 g)))
(/.f64 (*.f64 1/2 g) a)
(/.f64 (neg.f64 (*.f64 1/2 g)) (neg.f64 a))
(/.f64 (/.f64 (*.f64 1/2 g) 1) a)
(/.f64 (/.f64 (*.f64 1/2 g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
(/.f64 (/.f64 (*.f64 1/2 g) (sqrt.f64 a)) (sqrt.f64 a))
(/.f64 (*.f64 -1/2 g) (neg.f64 a))
(/.f64 (*.f64 g -1/2) (neg.f64 a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))
(log.f64 (pow.f64 (exp.f64 g) (/.f64 1/2 a)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 a) 3) (pow.f64 g 3)))
(cbrt.f64 (*.f64 (pow.f64 g 3) (pow.f64 (/.f64 1/2 a) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 1/2 (/.f64 a g))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 g (*.f64 a 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 1 (/.f64 a (*.f64 1/2 g)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (*.f64 1/2 g) a)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (neg.f64 (*.f64 1/2 g)) (neg.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (/.f64 (*.f64 1/2 g) 1) a)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (/.f64 (*.f64 1/2 g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (/.f64 (*.f64 1/2 g) (sqrt.f64 a)) (sqrt.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (*.f64 -1/2 g) (neg.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (*.f64 g -1/2) (neg.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 3)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(sqrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(log.f64 (pow.f64 (exp.f64 g) (/.f64 1/2 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1/2 a) 3) (pow.f64 g 3)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (*.f64 (pow.f64 g 3) (pow.f64 (/.f64 1/2 a) 3)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
0.6b
(cbrt.f64 g)
0.8b
(cbrt.f64 (+.f64 a a))
Compiler

Compiled 20 to 6 computations (70% saved)

series65.0ms (0.9%)

Counts
2 → 0
Calls

9 calls:

TimeVariablePointExpression
0.0ms
a
@0
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
0.0ms
a
@-inf
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
0.0ms
a
@inf
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
0.0ms
g
@-inf
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
0.0ms
a
@0
(cbrt.f64 (+.f64 a a))
Compiler

Compiled 6800 to 5320 computations (21.8% saved)

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
660×pow1_binary64
620×add-log-exp_binary64
619×log1p-expm1-u_binary64
619×expm1-log1p-u_binary64
603×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0715
115013
2223613
Stop Event
node limit
Counts
2 → 87
Calls
Call 1
Inputs
(cbrt.f64 (+.f64 a a))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 a a)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 a a)) (*.f64 a (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 a a) a) (*.f64 (+.f64 a a) a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 a a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 a a) 0) (/.f64 (*.f64 a a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a a) (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (+.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a a)) (+.f64 (cbrt.f64 a) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a) (+.f64 (sqrt.f64 a) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (pow.f64 a 3)) (/.f64 1 (fma.f64 a a 0)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 0 (/.f64 1 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 a (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/3) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 a a) 2) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 a)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 a a) (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 a a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 a a 0) (*.f64 2 (pow.f64 a 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 a 3)) (fma.f64 a a 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 0 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) (*.f64 2 (pow.f64 a 3))) (*.f64 (fma.f64 a a 0) (fma.f64 a a 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 2 (pow.f64 a 3))) (cbrt.f64 (fma.f64 a a 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 2 (pow.f64 a 3))) (sqrt.f64 (fma.f64 a a 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 0) (sqrt.f64 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (pow.f64 a 3))) (neg.f64 (fma.f64 a a 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 0 (*.f64 2 (pow.f64 a 3))) (*.f64 0 (fma.f64 a a 0)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) 0) (*.f64 (fma.f64 a a 0) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) (+.f64 a a)) (fma.f64 a a 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 0 (+.f64 a a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 a a) (*.f64 2 (pow.f64 a 3))) (fma.f64 a a 0))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 a a) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 2) a))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 a) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 a a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) a)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 a) (sqrt.f64 a) a)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (+.f64 a a) (cbrt.f64 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a a) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a a) (*.f64 (+.f64 a a) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (+.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 a a) (cbrt.f64 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 a a) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 2) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 g 1/6) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 g 1/6) (+.f64 a a)) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 g)) (/.f64 1 (neg.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) 1) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 g 1/6) 1) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) (+.f64 a a)) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 a a) (cbrt.f64 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 g 1/6) (+.f64 a a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g (+.f64 a a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 a a) (cbrt.f64 g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (+.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (cbrt.f64 (*.f64 g g)) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cbrt.f64 g)) (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 g (+.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))))))

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
29×*-commutative_binary64
18×sqr-pow_binary64
10×distribute-rgt-in_binary64
associate-*l*_binary64
associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0171351
1483351
Stop Event
unsound
Counts
87 → 105
Calls
Call 1
Inputs
(+.f64 a a)
(+.f64 (*.f64 a (+.f64 a a)) (*.f64 a (+.f64 a a)))
(+.f64 (*.f64 (+.f64 a a) a) (*.f64 (+.f64 a a) a))
(-.f64 (+.f64 1 (+.f64 a a)) 1)
(-.f64 (/.f64 (*.f64 a a) 0) (/.f64 (*.f64 a a) 0))
(*.f64 a 2)
(*.f64 (+.f64 a a) (+.f64 a a))
(*.f64 (+.f64 a a) 1)
(*.f64 1 (+.f64 a a))
(*.f64 (cbrt.f64 a) (+.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 (*.f64 a a))))
(*.f64 (cbrt.f64 (*.f64 a a)) (+.f64 (cbrt.f64 a) (cbrt.f64 a)))
(*.f64 (sqrt.f64 a) (+.f64 (sqrt.f64 a) (sqrt.f64 a)))
(*.f64 (*.f64 2 (pow.f64 a 3)) (/.f64 1 (fma.f64 a a 0)))
(*.f64 0 (/.f64 1 0))
(*.f64 2 a)
(*.f64 2 (*.f64 a (+.f64 a a)))
(*.f64 4 (*.f64 a a))
(*.f64 (cbrt.f64 2) (cbrt.f64 a))
(*.f64 (sqrt.f64 2) (sqrt.f64 a))
(*.f64 (pow.f64 1 1/3) (+.f64 a a))
(*.f64 (pow.f64 2 1/3) (cbrt.f64 a))
(*.f64 (*.f64 (+.f64 a a) 2) a)
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
(*.f64 (*.f64 2 (sqrt.f64 a)) (sqrt.f64 a))
(/.f64 (+.f64 a a) (+.f64 a a))
(/.f64 1 (+.f64 a a))
(/.f64 1 (/.f64 (+.f64 a a) 1))
(/.f64 1 (/.f64 (fma.f64 a a 0) (*.f64 2 (pow.f64 a 3))))
(/.f64 (*.f64 2 (pow.f64 a 3)) (fma.f64 a a 0))
(/.f64 0 0)
(/.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) (*.f64 2 (pow.f64 a 3))) (*.f64 (fma.f64 a a 0) (fma.f64 a a 0)))
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 a 3))) (cbrt.f64 (fma.f64 a a 0)))
(/.f64 (sqrt.f64 (*.f64 2 (pow.f64 a 3))) (sqrt.f64 (fma.f64 a a 0)))
(/.f64 (sqrt.f64 0) (sqrt.f64 0))
(/.f64 -1 (neg.f64 (+.f64 a a)))
(/.f64 (neg.f64 (*.f64 2 (pow.f64 a 3))) (neg.f64 (fma.f64 a a 0)))
(/.f64 (*.f64 0 (*.f64 2 (pow.f64 a 3))) (*.f64 0 (fma.f64 a a 0)))
(/.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) 0) (*.f64 (fma.f64 a a 0) 0))
(/.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) (+.f64 a a)) (fma.f64 a a 0))
(/.f64 (*.f64 0 (+.f64 a a)) 0)
(/.f64 (*.f64 (+.f64 a a) (*.f64 2 (pow.f64 a 3))) (fma.f64 a a 0))
(pow.f64 (+.f64 a a) 1)
(pow.f64 (+.f64 a a) 1/3)
(pow.f64 (+.f64 a a) 3)
(pow.f64 (+.f64 a a) 2)
(pow.f64 (+.f64 a a) -1)
(pow.f64 (+.f64 a a) 1/2)
(pow.f64 (+.f64 a a) -1/3)
(pow.f64 (+.f64 a a) 2/3)
(pow.f64 (+.f64 a a) 1/6)
(sqrt.f64 (+.f64 a a))
(fabs.f64 (+.f64 a a))
(log.f64 (pow.f64 (exp.f64 2) a))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 a))
(expm1.f64 (log1p.f64 (+.f64 a a)))
(log1p.f64 (expm1.f64 (+.f64 a a)))
(exp.f64 (log.f64 (+.f64 a a)))
(fma.f64 1 a a)
(fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) a)
(fma.f64 (sqrt.f64 a) (sqrt.f64 a) a)
(-.f64 (+.f64 1 (*.f64 (+.f64 a a) (cbrt.f64 g))) 1)
(*.f64 (+.f64 a a) (cbrt.f64 g))
(*.f64 (+.f64 a a) (*.f64 (+.f64 a a) (cbrt.f64 g)))
(*.f64 (cbrt.f64 g) (+.f64 a a))
(*.f64 (*.f64 (+.f64 a a) (cbrt.f64 g)) 1)
(*.f64 1 (*.f64 (+.f64 a a) (cbrt.f64 g)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 2) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(*.f64 (pow.f64 g 1/6) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))
(*.f64 (*.f64 (pow.f64 g 1/6) (+.f64 a a)) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))
(*.f64 (neg.f64 (cbrt.f64 g)) (/.f64 1 (neg.f64 (+.f64 a a))))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) 1) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(*.f64 (/.f64 (pow.f64 g 1/6) 1) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) (+.f64 a a)) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(pow.f64 (*.f64 (+.f64 a a) (cbrt.f64 g)) 1)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 3)
(pow.f64 (*.f64 (pow.f64 g 1/6) (+.f64 a a)) 2)
(pow.f64 (*.f64 g (+.f64 a a)) 1/3)
(pow.f64 (/.f64 (+.f64 a a) (cbrt.f64 g)) -1)
(neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (+.f64 a a))))
(sqrt.f64 (*.f64 (cbrt.f64 (*.f64 g g)) (+.f64 a a)))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 g)) (+.f64 a a)))
(cbrt.f64 (*.f64 g (+.f64 a a)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(exp.f64 (log.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
Outputs
(+.f64 a a)
-1
(+.f64 (*.f64 a (+.f64 a a)) (*.f64 a (+.f64 a a)))
-1
(+.f64 (*.f64 (+.f64 a a) a) (*.f64 (+.f64 a a) a))
-1
(-.f64 (+.f64 1 (+.f64 a a)) 1)
-1
(-.f64 (/.f64 (*.f64 a a) 0) (/.f64 (*.f64 a a) 0))
-1
(*.f64 a 2)
-1
(*.f64 (+.f64 a a) (+.f64 a a))
-1
(*.f64 (+.f64 a a) 1)
-1
(*.f64 1 (+.f64 a a))
-1
(*.f64 (cbrt.f64 a) (+.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 (*.f64 a a))))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (*.f64 a a)) (+.f64 (cbrt.f64 a) (cbrt.f64 a)))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a)))
(*.f64 (sqrt.f64 a) (+.f64 (sqrt.f64 a) (sqrt.f64 a)))
(*.f64 (sqrt.f64 a) (*.f64 2 (sqrt.f64 a)))
(*.f64 (*.f64 2 (pow.f64 a 3)) (/.f64 1 (fma.f64 a a 0)))
-1
(*.f64 0 (/.f64 1 0))
-1
(*.f64 2 a)
-1
(*.f64 2 (*.f64 a (+.f64 a a)))
-1
(*.f64 4 (*.f64 a a))
(*.f64 (*.f64 a a) 4)
(*.f64 (cbrt.f64 2) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (cbrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (sqrt.f64 2))
(*.f64 (pow.f64 1 1/3) (+.f64 a a))
-1
(*.f64 (pow.f64 2 1/3) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (cbrt.f64 2))
(*.f64 (*.f64 (+.f64 a a) 2) a)
-1
(*.f64 (*.f64 2 (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))
(*.f64 2 (*.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a)))
(*.f64 (*.f64 2 (sqrt.f64 a)) (sqrt.f64 a))
(*.f64 (sqrt.f64 a) (*.f64 2 (sqrt.f64 a)))
(/.f64 (+.f64 a a) (+.f64 a a))
-1
(/.f64 1 (+.f64 a a))
-1
(/.f64 1 (/.f64 (+.f64 a a) 1))
-1
(/.f64 1 (/.f64 (fma.f64 a a 0) (*.f64 2 (pow.f64 a 3))))
-1
(/.f64 (*.f64 2 (pow.f64 a 3)) (fma.f64 a a 0))
(/.f64 2 (/.f64 (fma.f64 a a -1) (pow.f64 a 3)))
(/.f64 0 0)
-1
(/.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) (*.f64 2 (pow.f64 a 3))) (*.f64 (fma.f64 a a 0) (fma.f64 a a 0)))
(/.f64 (*.f64 4 (*.f64 (pow.f64 a 3) (pow.f64 a 3))) (*.f64 (fma.f64 a a -1) (fma.f64 a a -1)))
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 a 3))) (cbrt.f64 (fma.f64 a a 0)))
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 a 3))) (cbrt.f64 (fma.f64 a a -1)))
(/.f64 (sqrt.f64 (*.f64 2 (pow.f64 a 3))) (sqrt.f64 (fma.f64 a a 0)))
(/.f64 (sqrt.f64 (*.f64 2 (pow.f64 a 3))) (sqrt.f64 (fma.f64 a a -1)))
(/.f64 (sqrt.f64 0) (sqrt.f64 0))
-1
(/.f64 -1 (neg.f64 (+.f64 a a)))
-1
(/.f64 (neg.f64 (*.f64 2 (pow.f64 a 3))) (neg.f64 (fma.f64 a a 0)))
-1
(/.f64 (*.f64 0 (*.f64 2 (pow.f64 a 3))) (*.f64 0 (fma.f64 a a 0)))
-1
(/.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) 0) (*.f64 (fma.f64 a a 0) 0))
-1
(/.f64 (*.f64 (*.f64 2 (pow.f64 a 3)) (+.f64 a a)) (fma.f64 a a 0))
-1
(/.f64 (*.f64 0 (+.f64 a a)) 0)
-1
(/.f64 (*.f64 (+.f64 a a) (*.f64 2 (pow.f64 a 3))) (fma.f64 a a 0))
-1
(pow.f64 (+.f64 a a) 1)
-1
(pow.f64 (+.f64 a a) 1/3)
-1
(pow.f64 (+.f64 a a) 3)
-1
(pow.f64 (+.f64 a a) 2)
-1
(pow.f64 (+.f64 a a) -1)
-1
(pow.f64 (+.f64 a a) 1/2)
-1
(pow.f64 (+.f64 a a) -1/3)
(*.f64 (pow.f64 -1 -1/6) (pow.f64 -1 -1/6))
(pow.f64 (+.f64 a a) 2/3)
-1
(pow.f64 (+.f64 a a) 1/6)
-1
(sqrt.f64 (+.f64 a a))
-1
(fabs.f64 (+.f64 a a))
-1
(log.f64 (pow.f64 (exp.f64 2) a))
(*.f64 a (log.f64 (exp.f64 2)))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 a))
(expm1.f64 (log1p.f64 (+.f64 a a)))
-1
(log1p.f64 (expm1.f64 (+.f64 a a)))
-1
(exp.f64 (log.f64 (+.f64 a a)))
-1
(fma.f64 1 a a)
(+.f64 -1 a)
(fma.f64 (cbrt.f64 (*.f64 a a)) (cbrt.f64 a) a)
(fma.f64 (sqrt.f64 a) (sqrt.f64 a) a)
(-.f64 (+.f64 1 (*.f64 (+.f64 a a) (cbrt.f64 g))) 1)
-1
(*.f64 (+.f64 a a) (cbrt.f64 g))
-1
(*.f64 (+.f64 a a) (*.f64 (+.f64 a a) (cbrt.f64 g)))
-1
(*.f64 (cbrt.f64 g) (+.f64 a a))
-1
(*.f64 (*.f64 (+.f64 a a) (cbrt.f64 g)) 1)
-1
(*.f64 1 (*.f64 (+.f64 a a) (cbrt.f64 g)))
-1
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(*.f64 -1 (cbrt.f64 (cbrt.f64 (*.f64 g g))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 2))
-1
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 2) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
-1
(*.f64 (pow.f64 g 1/6) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))
-1
(*.f64 (*.f64 (pow.f64 g 1/6) (+.f64 a a)) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))
-1
(*.f64 (neg.f64 (cbrt.f64 g)) (/.f64 1 (neg.f64 (+.f64 a a))))
-1
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) 1) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(*.f64 -1 (cbrt.f64 (cbrt.f64 (*.f64 g g))))
(*.f64 (/.f64 (pow.f64 g 1/6) 1) (*.f64 (pow.f64 g 1/6) (+.f64 a a)))
-1
(*.f64 (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g g))) (+.f64 a a)) (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
(*.f64 -1 (cbrt.f64 (cbrt.f64 (*.f64 g g))))
(pow.f64 (*.f64 (+.f64 a a) (cbrt.f64 g)) 1)
-1
(pow.f64 (cbrt.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))) 3)
-1
(pow.f64 (*.f64 (pow.f64 g 1/6) (+.f64 a a)) 2)
-1
(pow.f64 (*.f64 g (+.f64 a a)) 1/3)
(cbrt.f64 (*.f64 -1 g))
(pow.f64 (/.f64 (+.f64 a a) (cbrt.f64 g)) -1)
(/.f64 -1 (/.f64 -1 (cbrt.f64 g)))
(neg.f64 (/.f64 (cbrt.f64 g) (neg.f64 (+.f64 a a))))
-1
(sqrt.f64 (*.f64 (cbrt.f64 (*.f64 g g)) (+.f64 a a)))
(sqrt.f64 (*.f64 -1 (cbrt.f64 (*.f64 g g))))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 g)) (+.f64 a a)))
(log.f64 -1)
(cbrt.f64 (*.f64 g (+.f64 a a)))
(cbrt.f64 (*.f64 -1 g))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
-1
(log1p.f64 (expm1.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
-1
(exp.f64 (log.f64 (*.f64 (+.f64 a a) (cbrt.f64 g))))
-1

localize33.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
6.2b
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
9.7b
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
Compiler

Compiled 37 to 21 computations (43.2% saved)

series566.0ms (7.7%)

Counts
3 → 0
Calls

18 calls:

TimeVariablePointExpression
9.0ms
a
@inf
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
6.0ms
a
@0
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
5.0ms
g
@0
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
4.0ms
a
@0
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
3.0ms
g
@inf
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
Compiler

Compiled 36935 to 25640 computations (30.6% saved)

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
859×pow1_binary64
800×add-log-exp_binary64
800×log1p-expm1-u_binary64
800×expm1-log1p-u_binary64
781×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
121225
2223525
Stop Event
node limit
Counts
3 → 83
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 1/2 g)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 g (*.f64 (/.f64 1 a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 g a) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 g a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/2 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 2)) (*.f64 (cbrt.f64 (/.f64 g a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 g a)) (*.f64 (sqrt.f64 (/.f64 g a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 g) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 1/2) 2) (/.f64 g a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 a) 2)) (/.f64 g (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sqrt.f64 a)) (/.f64 g (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (/.f64 g a) 2))) (cbrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (sqrt.f64 (/.f64 g a))) (sqrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 g a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 a g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a (*.f64 1/2 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 g) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 1/2 g)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 g) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 g) (sqrt.f64 a)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 g) 1/2) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (neg.f64 g)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (/.f64 g a) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 g a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))))))

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
484×log-prod_binary64
426×cube-prod_binary64
345×fma-neg_binary64
268×log-div_binary64
266×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01674294968453
1350966
21195750
34622750
Stop Event
node limit
Counts
83 → 98
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 1 (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 g a)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(/.f64 (sqrt.f64 (*.f64 1/2 g)) (sqrt.f64 a))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2/3)
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)
(*.f64 1/2 (/.f64 g a))
(*.f64 g (*.f64 (/.f64 1 a) 1/2))
(*.f64 (/.f64 g a) 1/2)
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (*.f64 1/2 (/.f64 g a)) 1)
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(*.f64 1 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 2)) (*.f64 (cbrt.f64 (/.f64 g a)) 1/2))
(*.f64 (sqrt.f64 (/.f64 g a)) (*.f64 (sqrt.f64 (/.f64 g a)) 1/2))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (*.f64 1/2 g) (/.f64 1 a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4))
(*.f64 (pow.f64 (sqrt.f64 1/2) 2) (/.f64 g a))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 a) 2)) (/.f64 g (cbrt.f64 a)))
(*.f64 (/.f64 1/2 (sqrt.f64 a)) (/.f64 g (sqrt.f64 a)))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (/.f64 g a) 2))) (cbrt.f64 (/.f64 g a)))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 g a))) (sqrt.f64 (/.f64 g a)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 g a)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(/.f64 1/2 (/.f64 a g))
(/.f64 1 (/.f64 a (*.f64 1/2 g)))
(/.f64 (*.f64 1/2 g) a)
(/.f64 (neg.f64 (*.f64 1/2 g)) (neg.f64 a))
(/.f64 (/.f64 (*.f64 1/2 g) 1) a)
(/.f64 (/.f64 (*.f64 1/2 g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
(/.f64 (/.f64 (*.f64 1/2 g) (sqrt.f64 a)) (sqrt.f64 a))
(/.f64 (*.f64 (neg.f64 g) 1/2) (neg.f64 a))
(/.f64 (*.f64 1/2 (neg.f64 g)) (neg.f64 a))
(sqrt.f64 (*.f64 (pow.f64 (/.f64 g a) 2) 1/4))
(log.f64 (pow.f64 (exp.f64 (/.f64 g a)) 1/2))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 1/2))
(*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 g a)))
(*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(/.f64 (sqrt.f64 (*.f64 1/2 g)) (sqrt.f64 a))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3/2) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(fabs.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(sqrt.f64 (*.f64 1/2 (/.f64 g a)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(/.f64 (cbrt.f64 (*.f64 1/2 g)) (cbrt.f64 a))
(pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2/3)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3) (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 1))
(+.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 0)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 g a))) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 1/2 (/.f64 g a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 g (*.f64 (/.f64 1 a) 1/2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 g a) 1/2)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 1/2 (/.f64 g a)) 1)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 1 (*.f64 1/2 (/.f64 g a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 2)) (*.f64 (cbrt.f64 (/.f64 g a)) 1/2))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 2)) (*.f64 1/2 (cbrt.f64 (/.f64 g a))))
(*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 1/2 (cbrt.f64 (pow.f64 (/.f64 g a) 2))))
(*.f64 1/2 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 (pow.f64 (/.f64 g a) 2))))
(*.f64 (sqrt.f64 (/.f64 g a)) (*.f64 (sqrt.f64 (/.f64 g a)) 1/2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (/.f64 g a))))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 1/2)))
(*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (*.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4) (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 1/2 g) (/.f64 1 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/4))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (pow.f64 (sqrt.f64 1/2) 2) (/.f64 g a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 a) 2)) (/.f64 g (cbrt.f64 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (/.f64 1/2 (sqrt.f64 a)) (/.f64 g (sqrt.f64 a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (/.f64 g a) 2))) (cbrt.f64 (/.f64 g a)))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 g a) 2)) (*.f64 1/2 (cbrt.f64 (/.f64 g a))))
(*.f64 (cbrt.f64 (/.f64 g a)) (*.f64 1/2 (cbrt.f64 (pow.f64 (/.f64 g a) 2))))
(*.f64 1/2 (*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 (pow.f64 (/.f64 g a) 2))))
(*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 g a))) (sqrt.f64 (/.f64 g a)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 g a)))
(*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (sqrt.f64 (/.f64 g a))))
(*.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) (*.f64 (sqrt.f64 (/.f64 g a)) (sqrt.f64 1/2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) 1) (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6)) (pow.f64 (*.f64 1/2 (/.f64 g a)) 1/6))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 1/2 (/.f64 a g))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 1 (/.f64 a (*.f64 1/2 g)))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (*.f64 1/2 g) a)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (neg.f64 (*.f64 1/2 g)) (neg.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (/.f64 (*.f64 1/2 g) 1) a)
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (/.f64 (*.f64 1/2 g) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (/.f64 (*.f64 1/2 g) (sqrt.f64 a)) (sqrt.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (*.f64 (neg.f64 g) 1/2) (neg.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(/.f64 (*.f64 1/2 (neg.f64 g)) (neg.f64 a))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(sqrt.f64 (*.f64 (pow.f64 (/.f64 g a) 2) 1/4))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(log.f64 (pow.f64 (exp.f64 (/.f64 g a)) 1/2))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(expm1.f64 (log1p.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(log1p.f64 (expm1.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))
(exp.f64 (log.f64 (*.f64 1/2 (/.f64 g a))))
(+.f64 1 (-.f64 (*.f64 1/2 (/.f64 g a)) 1))
(+.f64 (*.f64 1/2 (/.f64 g a)) 0)
(*.f64 1/2 (/.f64 g a))

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (*.f64 g 1/2))
0.6b
(cbrt.f64 a)
0.6b
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
0.7b
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
Compiler

Compiled 37 to 27 computations (27% saved)

series389.0ms (5.3%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
7.0ms
g
@inf
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
7.0ms
g
@-inf
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
5.0ms
g
@0
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
1.0ms
g
@-inf
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
1.0ms
g
@inf
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
Compiler

Compiled 24010 to 20195 computations (15.9% saved)

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
579×pow1_binary64
546×add-log-exp_binary64
545×log1p-expm1-u_binary64
545×expm1-log1p-u_binary64
532×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116614
2155614
Stop Event
node limit
Counts
2 → 45
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (*.f64 g 1/2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3) (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) 3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 3) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6)) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 g 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 g) 1/3) (pow.f64 (cbrt.f64 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/3) (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 g 1/2) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))))

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
894×log-prod_binary64
877×exp-prod_binary64
812×fabs-mul_binary64
609×fma-def_binary64
544×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
090586
1178472
2522358
33838345
Stop Event
node limit
Counts
45 → 55
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) 1)
(*.f64 (cbrt.f64 (*.f64 g 1/2)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))
(*.f64 1 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (cbrt.f64 g) (cbrt.f64 1/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2)))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 g))
(*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (*.f64 g 1/2) 1/6))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3) (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) 3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 3) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 3))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6)) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 g 1/2))))
(cbrt.f64 (*.f64 g 1/2))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 g 1/2))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 g 1/2))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 1)
(*.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (pow.f64 (cbrt.f64 g) 1/3) (pow.f64 (cbrt.f64 1/2) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/3) (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/3))
(pow.f64 (*.f64 g 1/2) 1/9)
(pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 1 (cbrt.f64 (*.f64 g 1/2)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 g) (cbrt.f64 1/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (cbrt.f64 1/2) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (*.f64 g 1/2) 1/6))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 g 1/2)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3) (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 g 1/2))) (cbrt.f64 (sqrt.f64 (*.f64 g 1/2))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 g 1/2)) 1/6) 4)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) 3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 3) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 3))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6)) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(cbrt.f64 (*.f64 g 1/2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1)
(+.f64 (cbrt.f64 (*.f64 g 1/2)) 0)
(cbrt.f64 (*.f64 g 1/2))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1/3))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (pow.f64 (cbrt.f64 g) 1/3) (pow.f64 (cbrt.f64 1/2) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/3) (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 g 1/2) 1/6)) (cbrt.f64 (pow.f64 (*.f64 g 1/2) 1/6)))
(pow.f64 (pow.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1/6) 4)
(pow.f64 (*.f64 g 1/2) 1/9)
(*.f64 (pow.f64 (*.f64 g 1/2) 1/18) (pow.f64 (*.f64 g 1/2) 1/18))
(pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/3)
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) 3)
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 1/6) 2)
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(+.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) -1)
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))

eval150.0ms (2%)

Compiler

Compiled 5559 to 3505 computations (36.9% saved)

prune143.0ms (1.9%)

Pruning

38 alts after pruning (31 fresh and 7 done)

PrunedKeptTotal
New47412486
Fresh101929
Picked101
Done178
Total48638524
Error
0.0b
Counts
524 → 38
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
41.5b
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
1.5b
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2))) 3) (cbrt.f64 a))
1.6b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2))) 3) (cbrt.f64 a))
1.7b
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 3) (cbrt.f64 (+.f64 a a)))
30.4b
(/.f64 (*.f64 (cbrt.f64 (sqrt.f64 g)) (cbrt.f64 (sqrt.f64 g))) (cbrt.f64 (+.f64 a a)))
0.9b
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))
37.6b
(/.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
1.6b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 3))
37.2b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/3))
0.8b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
61.1b
(/.f64 (cbrt.f64 g) (/.f64 (+.f64 a a) (+.f64 a a)))
1.1b
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 2)))
1.0b
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
60.7b
(/.f64 (cbrt.f64 g) -1)
0.9b
(/.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
1.8b
(/.f64 1 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 3) (cbrt.f64 g)))
1.1b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
0.8b
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
14.2b
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a))))
1.1b
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
14.4b
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
14.7b
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
14.2b
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
61.1b
(/.f64 -1 (/.f64 -1 (cbrt.f64 g)))
1.4b
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a)))
0.8b
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
14.1b
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
1.5b
(*.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3))
4.4b
(*.f64 (cbrt.f64 g) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a)))))
0.8b
(*.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a))))
0.8b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
64.0b
(log.f64 -1)
14.9b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1))
14.6b
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
14.1b
(cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (/.f64 g a)))
14.1b
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
14.1b
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
Compiler

Compiled 769 to 600 computations (22% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
0.3b
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
0.6b
(cbrt.f64 (*.f64 g 1/2))
0.6b
(cbrt.f64 a)
Compiler

Compiled 31 to 20 computations (35.5% saved)

series101.0ms (1.4%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
1.0ms
g
@0
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
1.0ms
g
@-inf
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
1.0ms
a
@-inf
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
1.0ms
g
@inf
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
1.0ms
a
@0
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
Compiler

Compiled 10560 to 8260 computations (21.8% saved)

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
967×pow1_binary64
901×add-log-exp_binary64
901×log1p-expm1-u_binary64
901×expm1-log1p-u_binary64
96×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01021
120418
2250418
Stop Event
node limit
Counts
2 → 75
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) 1) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 1/2) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 a 1/6)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 a 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 g 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 g)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (*.f64 g 1/2) 1/6)) (pow.f64 (*.f64 g 1/2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (*.f64 g 1/2) a))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (*.f64 (cbrt.f64 (cbrt.f64 a)) (/.f64 1 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (*.f64 (pow.f64 a 1/6) (/.f64 1 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 a)) (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) 1) (/.f64 (pow.f64 a 1/6) (cbrt.f64 (*.f64 g 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (pow.f64 a 1/6) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 g)) (/.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)) (/.f64 (pow.f64 a 1/6) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (*.f64 g 1/2) 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 (*.f64 g 1/2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (*.f64 g 1/2) 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 g 1/2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (/.f64 a g)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 a) (neg.f64 (cbrt.f64 (*.f64 g 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 2 (/.f64 a g)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))))))

simplify56.0ms (0.8%)

Algorithm
egg-herbie
Rules
828×times-frac_binary64
476×associate-/l*_binary64
459×fma-def_binary64
340×associate-/r*_binary64
267×associate-*l/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0181978
1431890
21424890
35800890
Stop Event
node limit
Counts
75 → 98
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))) 1)
(*.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) 1) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 a)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 a 1/6)))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 1/2) (pow.f64 a 1/6)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 a 1/6)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 a 1/6)))
(*.f64 (/.f64 1 (neg.f64 (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 g)) (cbrt.f64 1/2))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (*.f64 g 1/2) 1/6)) (pow.f64 (*.f64 g 1/2) 1/6))
(pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -1)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))) 1)
(*.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (*.f64 (cbrt.f64 (cbrt.f64 a)) (/.f64 1 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(*.f64 (pow.f64 a 1/6) (*.f64 (pow.f64 a 1/6) (/.f64 1 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (neg.f64 (cbrt.f64 a)) (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (/.f64 (pow.f64 a 1/6) 1) (/.f64 (pow.f64 a 1/6) (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(*.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (pow.f64 a 1/6) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 g)) (/.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 1/2)))
(*.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)) (/.f64 (pow.f64 a 1/6) (cbrt.f64 1/2)))
(*.f64 (/.f64 1 (pow.f64 (*.f64 g 1/2) 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 (*.f64 g 1/2) 1/6)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (*.f64 g 1/2) 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 g 1/2) 1/6)))
(pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 1)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) -1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2)
(pow.f64 (*.f64 2 (/.f64 a g)) 1/3)
(neg.f64 (/.f64 (cbrt.f64 a) (neg.f64 (cbrt.f64 (*.f64 g 1/2)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
Outputs
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))) 1)
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) -1))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) -1))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) 1) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) 1) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) 1) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (cbrt.f64 (cbrt.f64 a))))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 1 (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/6)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (pow.f64 a 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 g) (pow.f64 a 1/6)) (/.f64 (cbrt.f64 1/2) (pow.f64 a 1/6)))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 a 1/6)) (/.f64 (pow.f64 (*.f64 g 1/2) 1/6) (pow.f64 a 1/6)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (/.f64 1 (neg.f64 (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (/.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 a)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 g)) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 g) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a)))
(*.f64 (*.f64 (/.f64 1 (cbrt.f64 a)) (pow.f64 (*.f64 g 1/2) 1/6)) (pow.f64 (*.f64 g 1/2) 1/6))
(*.f64 (cbrt.f64 (*.f64 g 1/2)) (/.f64 1 (cbrt.f64 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -1)
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 1)
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3) 1/3)
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 3)
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))) 2)
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -2))
(/.f64 -1 (neg.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) 3))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a))))
(cbrt.f64 (/.f64 (*.f64 g 1/2) a))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))) 1)
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(*.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(*.f64 (cbrt.f64 a) (/.f64 1 (cbrt.f64 (*.f64 g 1/2))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 1)
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (*.f64 (cbrt.f64 (cbrt.f64 a)) (/.f64 1 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(*.f64 (pow.f64 a 1/6) (*.f64 (pow.f64 a 1/6) (/.f64 1 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (neg.f64 (cbrt.f64 a)) (/.f64 1 (neg.f64 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1) (/.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 (pow.f64 a 1/6) 1) (/.f64 (pow.f64 a 1/6) (cbrt.f64 (*.f64 g 1/2))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)))
(/.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 2 g) a)))))
(*.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (pow.f64 a 1/6) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2))) (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)))
(/.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 g 1/2)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 g 1/2)))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)))
(/.f64 (*.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2))) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 g)) (cbrt.f64 1/2))
(/.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 g)) (/.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 1/2)))
(/.f64 (*.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2))) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 g)) (cbrt.f64 1/2))
(/.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)))
(*.f64 (/.f64 (pow.f64 a 1/6) (cbrt.f64 g)) (/.f64 (pow.f64 a 1/6) (cbrt.f64 1/2)))
(/.f64 (*.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2))) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 1/2)) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 a) (cbrt.f64 g)) (cbrt.f64 1/2))
(/.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)))
(*.f64 (/.f64 1 (pow.f64 (*.f64 g 1/2) 1/6)) (/.f64 (cbrt.f64 a) (pow.f64 (*.f64 g 1/2) 1/6)))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (*.f64 g 1/2) 1/6)) (/.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 g 1/2) 1/6)))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 1)
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)) -1)
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 g 1/2) a)))
(/.f64 1 (cbrt.f64 (/.f64 g (/.f64 a 1/2))))
(/.f64 1 (cbrt.f64 (*.f64 1/2 (/.f64 g a))))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 3)
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2)
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(pow.f64 (*.f64 2 (/.f64 a g)) 1/3)
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(neg.f64 (/.f64 (cbrt.f64 a) (neg.f64 (cbrt.f64 (*.f64 g 1/2)))))
(/.f64 (*.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) 2))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (*.f64 (/.f64 2 g) a))

localize3.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (/.f64 a 1/2) g)
0.3b
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
13.8b
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
Compiler

Compiled 28 to 19 computations (32.1% saved)

series99.0ms (1.3%)

Counts
3 → 0
Calls

18 calls:

TimeVariablePointExpression
6.0ms
g
@-inf
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
6.0ms
g
@0
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
1.0ms
a
@0
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
1.0ms
g
@inf
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
1.0ms
a
@-inf
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
Compiler

Compiled 7365 to 5535 computations (24.8% saved)

rewrite58.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
950×pow1_binary64
890×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
93×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119328
2243428
Stop Event
node limit
Counts
3 → 97
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(/.f64 (/.f64 a 1/2) g)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 (/.f64 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a 2)) (pow.f64 (/.f64 1 g) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 1/3) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (/.f64 g (*.f64 a 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 1/2 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 a -2)) (cbrt.f64 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (*.f64 a 2))) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (*.f64 1/2 g)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) -1) (pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 a 2))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 a (*.f64 1/2 g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (/.f64 1 (*.f64 1/2 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 2 (/.f64 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a 2) (/.f64 1 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a (*.f64 1/2 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 a (*.f64 1/2 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) (sqrt.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a 2)) (*.f64 (sqrt.f64 (*.f64 a 2)) (/.f64 1 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a -2) (/.f64 1 (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 g) (*.f64 a 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) g) (/.f64 (cbrt.f64 a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 a) g) (/.f64 (sqrt.f64 a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a 1) (/.f64 2 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a 2)) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a 2)) 1) (/.f64 (sqrt.f64 (*.f64 a 2)) g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a (pow.f64 (cbrt.f64 g) 2)) (/.f64 2 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (*.f64 a 2) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 a 2)) (pow.f64 (cbrt.f64 g) 2)) (/.f64 (sqrt.f64 (*.f64 a 2)) (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a (sqrt.f64 g)) (/.f64 2 (sqrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 g)) (/.f64 (*.f64 a 2) (sqrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (sqrt.f64 g)) (/.f64 (cbrt.f64 (*.f64 a 2)) (sqrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) 1) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6)) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (*.f64 1/2 g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 g (*.f64 a 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 a 2) (neg.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 a (*.f64 1/2 g)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 a 2) 3) (pow.f64 g 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 a (*.f64 1/2 g))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 a (*.f64 1/2 g))))))))

simplify82.0ms (1.1%)

Algorithm
egg-herbie
Rules
648×log-div_binary64
493×associate-/r*_binary64
282×*-commutative_binary64
270×distribute-rgt-in_binary64
257×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02111043
14851022
21852965
37439965
Stop Event
node limit
Counts
97 → 123
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) 1)
(*.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)
(*.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 (/.f64 1 g)))
(*.f64 (cbrt.f64 (*.f64 a 2)) (pow.f64 (/.f64 1 g) 1/3))
(*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 (cbrt.f64 g)))
(*.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 1/3) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 1/3))
(/.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 a 2))))
(/.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2))))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 1/2 g)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(/.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 g))
(/.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) -1)
(/.f64 (cbrt.f64 (*.f64 a -2)) (cbrt.f64 (neg.f64 g)))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 a 2))) (neg.f64 (cbrt.f64 g)))
(pow.f64 (/.f64 a (*.f64 1/2 g)) 1/3)
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3)
(pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))) 1)
(*.f64 1 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 1)
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) -1))
(*.f64 (pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) -1) (pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) -1))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 a 2))) (cbrt.f64 g))
(pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1)
(pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 1)
(pow.f64 (pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))
(cbrt.f64 (pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 a (*.f64 1/2 g)))) 1)
(*.f64 a (/.f64 1 (*.f64 1/2 g)))
(*.f64 a (*.f64 2 (/.f64 1 g)))
(*.f64 (*.f64 a 2) (/.f64 1 g))
(*.f64 (/.f64 a (*.f64 1/2 g)) 1)
(*.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2))
(*.f64 1 (/.f64 a (*.f64 1/2 g)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 g)))
(*.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) (sqrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 (sqrt.f64 (*.f64 a 2)) (*.f64 (sqrt.f64 (*.f64 a 2)) (/.f64 1 g)))
(*.f64 (*.f64 a -2) (/.f64 1 (neg.f64 g)))
(*.f64 (/.f64 1 g) (*.f64 a 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) g) (/.f64 (cbrt.f64 a) 1/2))
(*.f64 (/.f64 (sqrt.f64 a) g) (/.f64 (sqrt.f64 a) 1/2))
(*.f64 (/.f64 a 1) (/.f64 2 g))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a 2)) g))
(*.f64 (/.f64 (sqrt.f64 (*.f64 a 2)) 1) (/.f64 (sqrt.f64 (*.f64 a 2)) g))
(*.f64 (/.f64 a (pow.f64 (cbrt.f64 g) 2)) (/.f64 2 (cbrt.f64 g)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (*.f64 a 2) (cbrt.f64 g)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 a 2)) (pow.f64 (cbrt.f64 g) 2)) (/.f64 (sqrt.f64 (*.f64 a 2)) (cbrt.f64 g)))
(*.f64 (/.f64 a (sqrt.f64 g)) (/.f64 2 (sqrt.f64 g)))
(*.f64 (/.f64 1 (sqrt.f64 g)) (/.f64 (*.f64 a 2) (sqrt.f64 g)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (sqrt.f64 g)) (/.f64 (cbrt.f64 (*.f64 a 2)) (sqrt.f64 g)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) 1) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6)) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6))
(pow.f64 (/.f64 a (*.f64 1/2 g)) 1)
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 3)
(pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 2)
(pow.f64 (/.f64 g (*.f64 a 2)) -1)
(neg.f64 (/.f64 (*.f64 a 2) (neg.f64 g)))
(sqrt.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 2))
(log.f64 (exp.f64 (/.f64 a (*.f64 1/2 g))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 a 2) 3) (pow.f64 g 3)))
(expm1.f64 (log1p.f64 (/.f64 a (*.f64 1/2 g))))
(log1p.f64 (expm1.f64 (/.f64 a (*.f64 1/2 g))))
(exp.f64 (log.f64 (/.f64 a (*.f64 1/2 g))))
Outputs
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) 1)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 (/.f64 1 g)))
(*.f64 (cbrt.f64 (*.f64 a 2)) (pow.f64 (/.f64 1 g) 1/3))
(*.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 (/.f64 1 g)))
(*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 g))
(*.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 a (/.f64 2 g)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g)) 2)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 1/3) (pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 a (/.f64 2 g)))) (cbrt.f64 (sqrt.f64 (*.f64 a (/.f64 2 g)))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 a 1/2) g))) (cbrt.f64 (sqrt.f64 (/.f64 (/.f64 a 1/2) g))))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 (*.f64 a 2) g))) (cbrt.f64 (sqrt.f64 (/.f64 (*.f64 a 2) g))))
(/.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 a 2))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(/.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2))))
(*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 1/2 g)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(/.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 g))
(*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 (cbrt.f64 g)))
(/.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2))
(/.f64 (pow.f64 (*.f64 a (/.f64 2 g)) 1/6) (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) -1/2))
(/.f64 (pow.f64 (/.f64 (/.f64 a 1/2) g) 1/6) (pow.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)) -1/2))
(/.f64 (pow.f64 (/.f64 (*.f64 a 2) g) 1/6) (pow.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g)) -1/2))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) -1)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(/.f64 (cbrt.f64 (*.f64 a -2)) (cbrt.f64 (neg.f64 g)))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 a 2))) (neg.f64 (cbrt.f64 g)))
(*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 (cbrt.f64 g)))
(/.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 g))
(pow.f64 (/.f64 a (*.f64 1/2 g)) 1/3)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 1)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) 2)
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (/.f64 (/.f64 a 1/2) g))
(cbrt.f64 (/.f64 (*.f64 a 2) g))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))) 1)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 1 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 1)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2)))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) -2)))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)) -2)) (cbrt.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g))))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g)) -2)) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2)) (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(*.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) -2)))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)) -2)) (cbrt.f64 (cbrt.f64 (/.f64 (/.f64 a 1/2) g))))
(/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g)) -2)) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 a 2) g))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) -1))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 (pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) -1) (pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6) -1))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 a 2))) (cbrt.f64 g))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)
(*.f64 (pow.f64 (*.f64 a (/.f64 2 g)) -1/6) (pow.f64 (*.f64 a (/.f64 2 g)) -1/6))
(*.f64 (pow.f64 (/.f64 (/.f64 a 1/2) g) -1/6) (pow.f64 (/.f64 (/.f64 a 1/2) g) -1/6))
(*.f64 (pow.f64 (/.f64 (*.f64 a 2) g) -1/6) (pow.f64 (/.f64 (*.f64 a 2) g) -1/6))
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 1)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(pow.f64 (pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3) 1/3)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(pow.f64 (/.f64 1 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))) 3)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -1/2) 2)
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) -2))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(log.f64 (exp.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(cbrt.f64 (pow.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 3))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(expm1.f64 (log1p.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(log1p.f64 (expm1.f64 (/.f64 1 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))))))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(cbrt.f64 (*.f64 g (/.f64 1/2 a)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 a (*.f64 1/2 g)))) 1)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 a (/.f64 1 (*.f64 1/2 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 a (*.f64 2 (/.f64 1 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (*.f64 a 2) (/.f64 1 g))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 a (*.f64 1/2 g)) 1)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 1 (/.f64 a (*.f64 1/2 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (*.f64 (cbrt.f64 (*.f64 a 2)) (/.f64 1 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) (sqrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (sqrt.f64 (*.f64 a 2)) (*.f64 (sqrt.f64 (*.f64 a 2)) (/.f64 1 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (*.f64 a -2) (/.f64 1 (neg.f64 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 1 g) (*.f64 a 2))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) g) (/.f64 (cbrt.f64 a) 1/2))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 (sqrt.f64 a) g) (/.f64 (sqrt.f64 a) 1/2))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 a 1) (/.f64 2 g))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 a 2)) g))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 (sqrt.f64 (*.f64 a 2)) 1) (/.f64 (sqrt.f64 (*.f64 a 2)) g))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (/.f64 a (pow.f64 (cbrt.f64 g) 2)) (/.f64 2 (cbrt.f64 g)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 g) 2)) (/.f64 (*.f64 a 2) (cbrt.f64 g)))
(*.f64 (/.f64 a (pow.f64 (cbrt.f64 g) 2)) (/.f64 2 (cbrt.f64 g)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 a 2)) (pow.f64 (cbrt.f64 g) 2)) (/.f64 (sqrt.f64 (*.f64 a 2)) (cbrt.f64 g)))
(*.f64 (/.f64 a (pow.f64 (cbrt.f64 g) 2)) (/.f64 2 (cbrt.f64 g)))
(*.f64 (/.f64 a (sqrt.f64 g)) (/.f64 2 (sqrt.f64 g)))
(*.f64 (/.f64 1 (sqrt.f64 g)) (/.f64 (*.f64 a 2) (sqrt.f64 g)))
(*.f64 (/.f64 a (sqrt.f64 g)) (/.f64 2 (sqrt.f64 g)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (sqrt.f64 g)) (/.f64 (cbrt.f64 (*.f64 a 2)) (sqrt.f64 g)))
(*.f64 (/.f64 a (sqrt.f64 g)) (/.f64 2 (sqrt.f64 g)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) 1) (cbrt.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 2) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6)) (pow.f64 (/.f64 a (*.f64 1/2 g)) 1/6))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(pow.f64 (/.f64 a (*.f64 1/2 g)) 1)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(pow.f64 (cbrt.f64 (/.f64 a (*.f64 1/2 g))) 3)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(pow.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 3) 1/3)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(pow.f64 (sqrt.f64 (/.f64 a (*.f64 1/2 g))) 2)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(pow.f64 (/.f64 g (*.f64 a 2)) -1)
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(neg.f64 (/.f64 (*.f64 a 2) (neg.f64 g)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(sqrt.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 2))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(log.f64 (exp.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(log.f64 (+.f64 1 (expm1.f64 (/.f64 a (*.f64 1/2 g)))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(cbrt.f64 (pow.f64 (/.f64 a (*.f64 1/2 g)) 3))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 a 2) 3) (pow.f64 g 3)))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(expm1.f64 (log1p.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(log1p.f64 (expm1.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)
(exp.f64 (log.f64 (/.f64 a (*.f64 1/2 g))))
(*.f64 a (/.f64 2 g))
(/.f64 (/.f64 a 1/2) g)
(/.f64 (*.f64 a 2) g)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
0.3b
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
0.6b
(cbrt.f64 g)
0.8b
(cbrt.f64 (*.f64 2 a))
Compiler

Compiled 39 to 26 computations (33.3% saved)

series93.0ms (1.3%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
4.0ms
a
@inf
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
1.0ms
a
@-inf
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
0.0ms
g
@-inf
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
0.0ms
g
@0
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
0.0ms
g
@0
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
Compiler

Compiled 10560 to 8275 computations (21.6% saved)

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
965×pow1_binary64
893×add-log-exp_binary64
893×log1p-expm1-u_binary64
893×expm1-log1p-u_binary64
104×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01125
122120
2260520
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (*.f64 2 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)) (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2) (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) -1) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 1 (cbrt.f64 (*.f64 2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 2) (/.f64 (cbrt.f64 g) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2) (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 2 a) 1/6) (/.f64 (cbrt.f64 g) (pow.f64 (*.f64 2 a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (*.f64 2 a))) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 g 1/6)) (pow.f64 g 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) 1) (cbrt.f64 g))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2)) (cbrt.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (cbrt.f64 (*.f64 2 a))) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 2 a)) -1) (neg.f64 (cbrt.f64 g)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (*.f64 2 a) g))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 g)) 3) (*.f64 2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 2 a) (pow.f64 (/.f64 1 (cbrt.f64 g)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))))))

simplify46.0ms (0.6%)

Algorithm
egg-herbie
Rules
498×distribute-rgt-in_binary64
478×distribute-lft-in_binary64
321×fma-def_binary64
319×unswap-sqr_binary64
243×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0123693
1264635
2920623
33896623
Stop Event
node limit
Counts
56 → 81
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))) 1)
(*.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))
(*.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (*.f64 2 a)) -1))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 1)
(*.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)) (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2) (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) -1) (cbrt.f64 g))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1)
(pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 1)
(pow.f64 (pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2))
(log.f64 (exp.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))))
(cbrt.f64 (pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 3))
(expm1.f64 (log1p.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(log1p.f64 (expm1.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))) 1)
(/.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))
(/.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 1)
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 2) (/.f64 (cbrt.f64 g) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(/.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2) (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(/.f64 (pow.f64 (*.f64 2 a) 1/6) (/.f64 (cbrt.f64 g) (pow.f64 (*.f64 2 a) 1/6)))
(/.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1)
(/.f64 (neg.f64 (cbrt.f64 (*.f64 2 a))) (neg.f64 (cbrt.f64 g)))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 g 1/6)) (pow.f64 g 1/6))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) 1) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2)) (cbrt.f64 (cbrt.f64 g)))
(/.f64 (*.f64 -1 (cbrt.f64 (*.f64 2 a))) (neg.f64 (cbrt.f64 g)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 2 a)) -1) (neg.f64 (cbrt.f64 g)))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 3) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 3)
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 2))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 3))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 g)) 3) (*.f64 2 a)))
(cbrt.f64 (*.f64 (*.f64 2 a) (pow.f64 (/.f64 1 (cbrt.f64 g)) 3)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
Outputs
(-.f64 (exp.f64 (log1p.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))) 1)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(*.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(*.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (*.f64 2 a)) -1))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(*.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 1)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(*.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)) (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(*.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -2)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2) (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(*.f64 -1 (/.f64 1 (neg.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 2 a)) -1) (cbrt.f64 g))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2) -1) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1) (pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 2 a))) (cbrt.f64 g))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1)
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 1)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(pow.f64 (pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 3) 1/3)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(pow.f64 (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))) 3)
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2) 2)
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -2))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(log.f64 (exp.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(cbrt.f64 (pow.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))) 3))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(expm1.f64 (log1p.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(log1p.f64 (expm1.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(cbrt.f64 (/.f64 g (/.f64 a 1/2)))
(exp.f64 (neg.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 2 a) g)))
(/.f64 1 (cbrt.f64 (*.f64 a (/.f64 2 g))))
(/.f64 1 (cbrt.f64 (*.f64 2 (/.f64 a g))))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))) 1)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(/.f64 1 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 1 (cbrt.f64 (*.f64 2 a))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 1)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 2) (/.f64 (cbrt.f64 g) (cbrt.f64 (cbrt.f64 (*.f64 2 a)))))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 g) (cbrt.f64 a)))
(*.f64 (/.f64 (cbrt.f64 2) (cbrt.f64 g)) (cbrt.f64 a))
(*.f64 (cbrt.f64 a) (/.f64 (cbrt.f64 2) (cbrt.f64 g)))
(*.f64 (cbrt.f64 2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2) (cbrt.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 2 a)))))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 a (/.f64 2 g)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (/.f64 a g)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 2 (/.f64 g a)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 g (*.f64 2 a)))))
(/.f64 (pow.f64 (*.f64 2 a) 1/6) (/.f64 (cbrt.f64 g) (pow.f64 (*.f64 2 a) 1/6)))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) -1/2))
(/.f64 (sqrt.f64 (cbrt.f64 (*.f64 a (/.f64 2 g)))) (pow.f64 (cbrt.f64 (*.f64 a (/.f64 2 g))) -1/2))
(/.f64 (pow.f64 (*.f64 2 (/.f64 a g)) 1/6) (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 a g))) -1/2))
(/.f64 (pow.f64 (/.f64 2 (/.f64 g a)) 1/6) (pow.f64 (cbrt.f64 (/.f64 2 (/.f64 g a))) -1/2))
(/.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) -1)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(/.f64 (neg.f64 (cbrt.f64 (*.f64 2 a))) (neg.f64 (cbrt.f64 g)))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 g 1/6)) (pow.f64 g 1/6))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) 1) (cbrt.f64 g))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (/.f64 (cbrt.f64 (*.f64 2 a)) (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2)) (cbrt.f64 (cbrt.f64 g)))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (*.f64 -1 (cbrt.f64 (*.f64 2 a))) (neg.f64 (cbrt.f64 g)))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(/.f64 (*.f64 (cbrt.f64 (*.f64 2 a)) -1) (neg.f64 (cbrt.f64 g)))
(*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a)))
(/.f64 1 (cbrt.f64 (/.f64 g (*.f64 2 a))))
(/.f64 (cbrt.f64 (/.f64 a 1/2)) (cbrt.f64 g))
(/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 1)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(pow.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 3) 1/3)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 3)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(pow.f64 (sqrt.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))) 2)
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 2))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)))))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g)) 3))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (cbrt.f64 g)) 3) (*.f64 2 a)))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(cbrt.f64 (*.f64 (*.f64 2 a) (pow.f64 (/.f64 1 (cbrt.f64 g)) 3)))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 (*.f64 2 a) g))))
(cbrt.f64 (/.f64 (*.f64 2 a) g))
(cbrt.f64 (*.f64 a (/.f64 2 g)))
(cbrt.f64 (*.f64 2 (/.f64 a g)))
(cbrt.f64 (/.f64 2 (/.f64 g a)))

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (*.f64 g 1/2))
0.6b
(cbrt.f64 a)
0.6b
(cbrt.f64 (cbrt.f64 a))
0.8b
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
Compiler

Compiled 33 to 19 computations (42.4% saved)

series344.0ms (4.7%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
10.0ms
a
@0
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
7.0ms
a
@-inf
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
5.0ms
a
@inf
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
1.0ms
a
@-inf
(cbrt.f64 (cbrt.f64 a))
1.0ms
a
@inf
(cbrt.f64 (cbrt.f64 a))
Compiler

Compiled 21300 to 17485 computations (17.9% saved)

rewrite44.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
408×pow1_binary64
400×add-sqr-sqrt_binary64
387×add-log-exp_binary64
387×log1p-expm1-u_binary64
387×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
11248
211218
Stop Event
node limit
Counts
2 → 73
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 3)
(cbrt.f64 (cbrt.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 a)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (pow.f64 1 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (cbrt.f64 a))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a) 1/6) (*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2) (pow.f64 (pow.f64 a 1/6) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6)) (pow.f64 (cbrt.f64 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 1 1/3) 3) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 (cbrt.f64 a))) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 a 1/6)) 1/3) (pow.f64 (cbrt.f64 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 a 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) 2) 3/2) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2) (pow.f64 (cbrt.f64 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 1 3/2) 2) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 a)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 a)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 1 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 1 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 a) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/9) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 a) 1/9) (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/9) (pow.f64 (cbrt.f64 a) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 a) 1/9) (pow.f64 (sqrt.f64 a) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 (cbrt.f64 a))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/9) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 a 1/6)) 1/9) (pow.f64 (pow.f64 a 1/6) 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 1 1/3) 1/3) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 2) 3) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 2) 3/2) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 a 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/9 (log.f64 a)))))))

simplify62.0ms (0.8%)

Algorithm
egg-herbie
Rules
893×fma-neg_binary64
502×log-prod_binary64
477×exp-prod_binary64
411×fma-def_binary64
346×exp-sum_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0164891
1354855
21097804
33084754
46094749
Stop Event
node limit
Counts
73 → 120
Calls
Call 1
Inputs
(+.f64 0 (cbrt.f64 a))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 a)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 a)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a)))))
(-.f64 (+.f64 1 (cbrt.f64 a)) 1)
(*.f64 (cbrt.f64 a) 1)
(*.f64 (cbrt.f64 a) (pow.f64 1 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (cbrt.f64 a))) 3/2))
(*.f64 1 (cbrt.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)))
(*.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 a))
(*.f64 (pow.f64 1 3/2) (cbrt.f64 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2) (pow.f64 (pow.f64 a 1/6) 3/2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6)) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (pow.f64 1 1/3) 3) (cbrt.f64 a))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 (cbrt.f64 a))) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 a 1/6)) 1/3) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (pow.f64 a 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) 2) 3/2) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (pow.f64 1 3/2) 2) (cbrt.f64 a))
(sqrt.f64 (pow.f64 (cbrt.f64 a) 2))
(log.f64 (exp.f64 (cbrt.f64 a)))
(cbrt.f64 a)
(expm1.f64 (log1p.f64 (cbrt.f64 a)))
(log1p.f64 (expm1.f64 (cbrt.f64 a)))
(exp.f64 (log.f64 (cbrt.f64 a)))
(+.f64 0 (cbrt.f64 (cbrt.f64 a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 a))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 a)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 1 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 1 1/9))
(*.f64 1 (cbrt.f64 (cbrt.f64 a)))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 1 3/2) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 1 1/9) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 a) 1/9) (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/9))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/9) (pow.f64 (cbrt.f64 a) 1/9))
(*.f64 (pow.f64 (sqrt.f64 a) 1/9) (pow.f64 (sqrt.f64 a) 1/9))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 (cbrt.f64 a))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/9))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/9) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/9))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 a 1/6)) 1/9) (pow.f64 (pow.f64 a 1/6) 1/9))
(*.f64 (pow.f64 (pow.f64 1 1/3) 1/3) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 2) 3) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 2) 3/2) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))
(pow.f64 a 1/9)
(pow.f64 (cbrt.f64 a) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) 3/2)
(pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 a))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 a))))
(exp.f64 (*.f64 1/9 (log.f64 a)))
Outputs
(+.f64 0 (cbrt.f64 a))
(cbrt.f64 a)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 a)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 a)))))
(cbrt.f64 a)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a)))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 a)))) 3)
(-.f64 (+.f64 1 (cbrt.f64 a)) 1)
(cbrt.f64 a)
(*.f64 (cbrt.f64 a) 1)
(cbrt.f64 a)
(*.f64 (cbrt.f64 a) (pow.f64 1 1/3))
(cbrt.f64 a)
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))
(cbrt.f64 a)
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (cbrt.f64 a))) 3/2))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3/2))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 4) 3/2))
(*.f64 1 (cbrt.f64 a))
(cbrt.f64 a)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 a)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)))
(cbrt.f64 a)
(*.f64 (pow.f64 a 1/6) (pow.f64 a 1/6))
(cbrt.f64 a)
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)))
(cbrt.f64 a)
(*.f64 (pow.f64 1 1/3) (cbrt.f64 a))
(cbrt.f64 a)
(*.f64 (pow.f64 1 3/2) (cbrt.f64 a))
(cbrt.f64 a)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2) (pow.f64 (pow.f64 a 1/6) 3/2))
(*.f64 (pow.f64 (pow.f64 a 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 a) 1/12) 3))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(cbrt.f64 a)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6)) (pow.f64 (cbrt.f64 a) 1/6))
(cbrt.f64 a)
(*.f64 (pow.f64 (pow.f64 1 1/3) 3) (cbrt.f64 a))
(cbrt.f64 a)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 (cbrt.f64 a))) 1/3) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (cbrt.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) 2))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (cbrt.f64 (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 4))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 7)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 8)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 a 1/6)) 1/3) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (cbrt.f64 (*.f64 (pow.f64 a 1/6) (pow.f64 (cbrt.f64 a) 2))))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (cbrt.f64 (*.f64 (cbrt.f64 a) (pow.f64 (pow.f64 a 1/6) 3))))
(*.f64 (cbrt.f64 (*.f64 (cbrt.f64 a) (pow.f64 (pow.f64 a 1/12) 6))) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (cbrt.f64 (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 3/2))) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (pow.f64 a 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 3/2) (pow.f64 (pow.f64 a 1/6) 3/2))
(*.f64 (pow.f64 (pow.f64 a 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 a) 1/12) 3))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) 2) 3/2) (cbrt.f64 (cbrt.f64 a)))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3/2))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 4) 3/2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 5) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 5) 3/2) (pow.f64 (cbrt.f64 a) 1/6))
(*.f64 (pow.f64 (pow.f64 1 3/2) 2) (cbrt.f64 a))
(cbrt.f64 a)
(sqrt.f64 (pow.f64 (cbrt.f64 a) 2))
(cbrt.f64 a)
(log.f64 (exp.f64 (cbrt.f64 a)))
(cbrt.f64 a)
(cbrt.f64 a)
(expm1.f64 (log1p.f64 (cbrt.f64 a)))
(cbrt.f64 a)
(log1p.f64 (expm1.f64 (cbrt.f64 a)))
(cbrt.f64 a)
(exp.f64 (log.f64 (cbrt.f64 a)))
(cbrt.f64 a)
(+.f64 0 (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 (cbrt.f64 a))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a)))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))))
(cbrt.f64 (cbrt.f64 a))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 a))) 1)
(cbrt.f64 (cbrt.f64 a))
(*.f64 (cbrt.f64 (cbrt.f64 a)) 1)
(cbrt.f64 (cbrt.f64 a))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 1 1/3))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 1 1/9))
(cbrt.f64 (cbrt.f64 a))
(*.f64 1 (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 a) 1/6))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 1/6) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 5)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 5/2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 7)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 7)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 2))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 1 3/2) (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 1 1/9) (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 (cbrt.f64 a) 1/9) (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/9))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 a) 1/18) (pow.f64 (cbrt.f64 a) 1/18)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18) (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18) (*.f64 (pow.f64 (cbrt.f64 a) 1/18) (pow.f64 (cbrt.f64 a) 1/18))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/9) (pow.f64 (cbrt.f64 a) 1/9))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 a) 1/18) (pow.f64 (cbrt.f64 a) 1/18)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18) (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 2) 1/18) (*.f64 (pow.f64 (cbrt.f64 a) 1/18) (pow.f64 (cbrt.f64 a) 1/18))))
(*.f64 (pow.f64 (sqrt.f64 a) 1/9) (pow.f64 (sqrt.f64 a) 1/9))
(*.f64 (*.f64 (pow.f64 (sqrt.f64 a) 1/18) (pow.f64 (sqrt.f64 a) 1/18)) (*.f64 (pow.f64 (sqrt.f64 a) 1/18) (pow.f64 (sqrt.f64 a) 1/18)))
(*.f64 (pow.f64 (sqrt.f64 a) 1/18) (pow.f64 (pow.f64 (sqrt.f64 a) 1/18) 3))
(pow.f64 (pow.f64 (sqrt.f64 a) 1/18) 4)
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (cbrt.f64 (cbrt.f64 a))) 1/9) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/9))
(*.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) 2)) 1/18) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) 2)) 1/18)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18)))
(*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) 2)) 1/18)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) 2)) 1/18))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 4)) 1/18) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18)) (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 4)) 1/18)))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 7) 1/18) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 7) 1/18)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/18)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) 1/9) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/9))
(*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 2)) 1/18) (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 2)) 1/18)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/18) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/18)))
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 8) 1/18) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 8) 1/18)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/18) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 1/18)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 a) 2) (pow.f64 a 1/6)) 1/9) (pow.f64 (pow.f64 a 1/6) 1/9))
(*.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 a 1/6) (pow.f64 (cbrt.f64 a) 2)) 1/18) (pow.f64 (*.f64 (pow.f64 a 1/6) (pow.f64 (cbrt.f64 a) 2)) 1/18)) (*.f64 (pow.f64 (pow.f64 a 1/6) 1/18) (pow.f64 (pow.f64 a 1/6) 1/18)))
(*.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (pow.f64 a 1/6) 3)) 1/18) (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (pow.f64 a 1/6) 3)) 1/18)) (*.f64 (pow.f64 (pow.f64 a 1/6) 1/18) (pow.f64 (pow.f64 a 1/6) 1/18)))
(*.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (pow.f64 a 1/12) 6)) 1/18) (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (pow.f64 a 1/12) 6)) 1/18)) (*.f64 (pow.f64 (pow.f64 a 1/6) 1/18) (pow.f64 (pow.f64 a 1/6) 1/18)))
(*.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 3/2)) 1/18) (pow.f64 (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 a) 3/2)) 1/18)) (*.f64 (pow.f64 (pow.f64 a 1/6) 1/18) (pow.f64 (pow.f64 a 1/6) 1/18)))
(*.f64 (pow.f64 (pow.f64 1 1/3) 1/3) (cbrt.f64 (cbrt.f64 a)))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2))) (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 8)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) (pow.f64 (cbrt.f64 a) 1/6))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 5)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 a) 1/6)) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 5/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 2) 3) (cbrt.f64 (cbrt.f64 (cbrt.f64 a))))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 3))
(cbrt.f64 (cbrt.f64 a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 2) 3/2) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 4) 3/2) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a)))) 2) 3/2))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2)) 3/2))
(cbrt.f64 (cbrt.f64 a))
(pow.f64 a 1/9)
(*.f64 (pow.f64 a 1/18) (pow.f64 a 1/18))
(pow.f64 (exp.f64 1/9) (log.f64 a))
(exp.f64 (*.f64 1/9 (log.f64 a)))
(pow.f64 (cbrt.f64 a) 1/3)
(cbrt.f64 (cbrt.f64 a))
(pow.f64 (cbrt.f64 (cbrt.f64 a)) 1)
(cbrt.f64 (cbrt.f64 a))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 1/2)
(cbrt.f64 (cbrt.f64 a))
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 3)
(cbrt.f64 (cbrt.f64 a))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 a))) 2) 3/2)
(cbrt.f64 (cbrt.f64 a))
(pow.f64 (pow.f64 (cbrt.f64 a) 1/6) 2)
(cbrt.f64 (cbrt.f64 a))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2))
(cbrt.f64 (cbrt.f64 a))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 a))))
(cbrt.f64 (cbrt.f64 a))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 a))))
(cbrt.f64 (cbrt.f64 a))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 a))))
(cbrt.f64 (cbrt.f64 a))
(exp.f64 (*.f64 1/9 (log.f64 a)))
(*.f64 (pow.f64 a 1/18) (pow.f64 a 1/18))
(pow.f64 (exp.f64 1/9) (log.f64 a))

eval222.0ms (3%)

Compiler

Compiled 8061 to 5702 computations (29.3% saved)

prune121.0ms (1.6%)

Pruning

37 alts after pruning (27 fresh and 10 done)

PrunedKeptTotal
New5596565
Fresh52126
Picked101
Done11011
Total56637603
Error
0.0b
Counts
603 → 37
Alt Table
Click to see full alt table
StatusErrorProgram
41.5b
(pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)
1.5b
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2))) 3) (cbrt.f64 a))
1.6b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2))) 3) (cbrt.f64 a))
1.7b
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 3) (cbrt.f64 (+.f64 a a)))
30.4b
(/.f64 (*.f64 (cbrt.f64 (sqrt.f64 g)) (cbrt.f64 (sqrt.f64 g))) (cbrt.f64 (+.f64 a a)))
0.9b
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))
37.6b
(/.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
37.2b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/3))
0.8b
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
61.1b
(/.f64 (cbrt.f64 g) (/.f64 (+.f64 a a) (+.f64 a a)))
1.1b
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 2)))
1.0b
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
60.7b
(/.f64 (cbrt.f64 g) -1)
0.9b
(/.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
1.1b
(/.f64 1 (/.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 1 (cbrt.f64 (*.f64 2 a)))))
1.1b
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
32.0b
(/.f64 1 (/.f64 (cbrt.f64 a) (exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))))
0.8b
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
14.2b
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a))))
0.9b
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
35.8b
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 a))) (cbrt.f64 (sqrt.f64 (*.f64 2 a))))))
1.2b
(/.f64 1 (*.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 (/.f64 1 g))))
14.4b
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
14.7b
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
14.2b
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
61.1b
(/.f64 -1 (/.f64 -1 (cbrt.f64 g)))
0.8b
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
14.1b
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
1.5b
(*.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3))
4.4b
(*.f64 (cbrt.f64 g) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a)))))
0.8b
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
64.0b
(log.f64 -1)
14.9b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1))
14.6b
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
14.1b
(cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (/.f64 g a)))
14.1b
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
14.1b
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
Compiler

Compiled 412 to 324 computations (21.4% saved)

regimes262.0ms (3.6%)

Counts
67 → 1
Calls
Call 1
Inputs
(log.f64 -1)
(/.f64 (cbrt.f64 g) -1)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(/.f64 -1 (/.f64 -1 (cbrt.f64 g)))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) g)))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a))))
(/.f64 (cbrt.f64 g) (/.f64 (+.f64 a a) (+.f64 a a)))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (cbrt.f64 g) (pow.f64 (/.f64 1/2 a) 1/3))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 a 1/3))
(*.f64 (cbrt.f64 g) (/.f64 1 (cbrt.f64 (*.f64 a 2))))
(*.f64 (/.f64 1 (cbrt.f64 a)) (cbrt.f64 (*.f64 g 1/2)))
(/.f64 1 (/.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 g 1/2))))
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (cbrt.f64 g)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1))
(/.f64 1 (*.f64 (cbrt.f64 (*.f64 a 2)) (cbrt.f64 (/.f64 1 g))))
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (cbrt.f64 (*.f64 2 a))))
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 (*.f64 g 1/2))) (cbrt.f64 a)))
(/.f64 1 (/.f64 (/.f64 1 (cbrt.f64 g)) (/.f64 1 (cbrt.f64 (*.f64 2 a)))))
(/.f64 (cbrt.f64 1/2) (/.f64 (cbrt.f64 a) (cbrt.f64 g)))
(/.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 a) (cbrt.f64 2)))
(/.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2)) (cbrt.f64 a))
(/.f64 (/.f64 (cbrt.f64 g) (cbrt.f64 a)) (cbrt.f64 2))
(cbrt.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 g a)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (/.f64 g a)))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a))) 2))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 g (/.f64 a 1/2)))) 3)
(*.f64 (cbrt.f64 g) (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1 a))))
(/.f64 1 (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 2)) (cbrt.f64 g)))
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (sqrt.f64 (*.f64 a 2))))
(cbrt.f64 (/.f64 (/.f64 g (sqrt.f64 (*.f64 a 2))) (pow.f64 (*.f64 (*.f64 a a) 4) 1/4)))
(*.f64 (cbrt.f64 g) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 3) (cbrt.f64 (/.f64 1/2 a)))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 3))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 3) (cbrt.f64 (+.f64 a a)))
(/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 g 1/2))) 3) (cbrt.f64 a))
(/.f64 1 (/.f64 (cbrt.f64 a) (exp.f64 (log.f64 (cbrt.f64 (*.f64 g 1/2))))))
(/.f64 1 (/.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 a))) 3) (cbrt.f64 g)))
(cbrt.f64 (/.f64 g (*.f64 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2) (cbrt.f64 (*.f64 a 2)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (sqrt.f64 (*.f64 1/2 (/.f64 g a)))))
(/.f64 (cbrt.f64 (/.f64 (neg.f64 g) (sqrt.f64 (+.f64 a a)))) (cbrt.f64 (neg.f64 (sqrt.f64 (+.f64 a a)))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 g) (cbrt.f64 1/2))) 3) (cbrt.f64 a))
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (*.f64 (cbrt.f64 (sqrt.f64 a)) (cbrt.f64 (sqrt.f64 a))))
(/.f64 (*.f64 (cbrt.f64 (sqrt.f64 g)) (cbrt.f64 (sqrt.f64 g))) (cbrt.f64 (+.f64 a a)))
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (*.f64 (cbrt.f64 (sqrt.f64 g)) (cbrt.f64 (sqrt.f64 g)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a)))) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 g a))) 2)))
(/.f64 1 (*.f64 (/.f64 1 (cbrt.f64 g)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 a))) (cbrt.f64 (sqrt.f64 (*.f64 2 a))))))
(/.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 (cbrt.f64 1/2))) 3) (cbrt.f64 a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g))) (cbrt.f64 (/.f64 1/2 a)))
(/.f64 1 (/.f64 (cbrt.f64 (*.f64 2 a)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 g)) 2) (cbrt.f64 (cbrt.f64 g)))))
(*.f64 (cbrt.f64 g) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 a)) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/2 a)))))
(*.f64 (/.f64 (cbrt.f64 (pow.f64 (cbrt.f64 g) 2)) (cbrt.f64 2)) (/.f64 (cbrt.f64 (cbrt.f64 g)) (cbrt.f64 a)))
Outputs
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
Calls

8 calls:

33.0ms
g
31.0ms
(*.f64 2 a)
31.0ms
a
30.0ms
(*.f64 2 a)
29.0ms
(/.f64 g (*.f64 2 a))
Results
ErrorSegmentsBranch
0.8b1g
0.8b1a
0.8b1(cbrt.f64 (/.f64 g (*.f64 2 a)))
0.8b1(cbrt.f64 (/.f64 g (*.f64 2 a)))
0.8b1(/.f64 g (*.f64 2 a))
0.8b1(/.f64 g (*.f64 2 a))
0.8b1(*.f64 2 a)
0.8b1(*.f64 2 a)
Compiler

Compiled 708 to 457 computations (35.5% saved)

regimes99.0ms (1.3%)

Counts
21 → 1
Calls
Call 1
Inputs
(log.f64 -1)
(/.f64 (cbrt.f64 g) -1)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(/.f64 -1 (/.f64 -1 (cbrt.f64 g)))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) g)))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a))))
(/.f64 (cbrt.f64 g) (/.f64 (+.f64 a a) (+.f64 a a)))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(*.f64 (cbrt.f64 (/.f64 g a)) (cbrt.f64 1/2))
(/.f64 (cbrt.f64 g) (cbrt.f64 (*.f64 a 2)))
(/.f64 (cbrt.f64 g) (cbrt.f64 (+.f64 a a)))
Outputs
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
Calls

8 calls:

16.0ms
(cbrt.f64 (/.f64 g (*.f64 2 a)))
14.0ms
(*.f64 2 a)
13.0ms
(*.f64 2 a)
12.0ms
g
11.0ms
(/.f64 g (*.f64 2 a))
Results
ErrorSegmentsBranch
0.8b1g
0.8b1a
0.8b1(cbrt.f64 (/.f64 g (*.f64 2 a)))
0.8b1(cbrt.f64 (/.f64 g (*.f64 2 a)))
0.8b1(/.f64 g (*.f64 2 a))
0.8b1(/.f64 g (*.f64 2 a))
0.8b1(*.f64 2 a)
0.8b1(*.f64 2 a)
Compiler

Compiled 194 to 128 computations (34% saved)

regimes74.0ms (1%)

Counts
17 → 1
Calls
Call 1
Inputs
(log.f64 -1)
(/.f64 (cbrt.f64 g) -1)
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(cbrt.f64 (*.f64 (/.f64 1/2 a) g))
(cbrt.f64 (/.f64 1/2 (/.f64 a g)))
(cbrt.f64 (/.f64 g (*.f64 2 a)))
(/.f64 -1 (/.f64 -1 (cbrt.f64 g)))
(pow.f64 (*.f64 1/2 (/.f64 g a)) 1/3)
(pow.f64 (/.f64 a (*.f64 1/2 g)) -1/3)
(pow.f64 (/.f64 g (/.f64 a 1/2)) 1/3)
(/.f64 1 (cbrt.f64 (*.f64 (/.f64 2 g) a)))
(/.f64 1 (cbrt.f64 (/.f64 2 (/.f64 g a))))
(/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) g)))
(/.f64 1 (cbrt.f64 (/.f64 (/.f64 a 1/2) g)))
(pow.f64 (*.f64 (/.f64 1 g) (+.f64 a a)) -1/3)
(/.f64 1 (/.f64 1 (cbrt.f64 (/.f64 (/.f64 g 2) a))))
(/.f64 (cbrt.f64 g) (/.f64 (+.f64 a a) (+.f64 a a)))
Outputs
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
Calls

8 calls:

10.0ms
(cbrt.f64 (/.f64 g (*.f64 2 a)))
10.0ms
g
10.0ms
(*.f64 2 a)
8.0ms
(/.f64 g (*.f64 2 a))
8.0ms
a
Results
ErrorSegmentsBranch
14.1b1g
14.1b1a
14.1b1(cbrt.f64 (/.f64 g (*.f64 2 a)))
14.1b1(cbrt.f64 (/.f64 g (*.f64 2 a)))
14.1b1(/.f64 g (*.f64 2 a))
14.1b1(/.f64 g (*.f64 2 a))
14.1b1(*.f64 2 a)
14.1b1(*.f64 2 a)
Compiler

Compiled 166 to 114 computations (31.3% saved)

regimes7.0ms (0.1%)

Accuracy

Total -3.3b remaining (-5.4%)

Threshold costs -3.3b (-5.4%)

Counts
2 → 1
Calls
Call 1
Inputs
(log.f64 -1)
(/.f64 (cbrt.f64 g) -1)
Outputs
(/.f64 (cbrt.f64 g) -1)
Calls

2 calls:

3.0ms
g
3.0ms
a
Results
ErrorSegmentsBranch
60.7b1g
60.7b1a
Compiler

Compiled 14 to 11 computations (21.4% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01840
12140
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(/.f64 (cbrt.f64 g) -1)
(log.f64 -1)
Outputs
(/.f64 (cbrt.f64 (*.f64 g 1/2)) (cbrt.f64 a))
(*.f64 (cbrt.f64 g) (cbrt.f64 (/.f64 1/2 a)))
(cbrt.f64 (*.f64 1/2 (/.f64 g a)))
(/.f64 (cbrt.f64 g) -1)
(log.f64 -1)
Compiler

Compiled 36 to 29 computations (19.4% saved)

soundness0.0ms (0%)

end34.0ms (0.5%)

Compiler

Compiled 28 to 20 computations (28.6% saved)

Profiling

Loading profile data...