Details

Time bar (total: 14.2s)

analyze180.0ms (1.3%)

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
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
50%50%50%0.1%0%0%0%7
50%50%50%0.1%0%0%0%8
50%50%50%0.1%0%0%0%9
50%50%50%0.1%0%0%0%10
50%50%50%0.1%0%0%0%11
50%50%50%0.1%0%0%0%12
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample10.9s (76.9%)

Results
8.6s7942×body8192exit
1.1s2071×body1024valid
754.0ms5034×body256valid
264.0ms941×body512valid
151.0ms210×body2048valid
Bogosity

preprocess14.0ms (0.1%)

Algorithm
egg-herbie
Rules
swap-a-b
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
1920
022
122
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
Outputs
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Symmetry

(sort a b)

Compiler

Compiled 10 to 8 computations (20% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Outputs
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

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
27.9b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 8 to 6 computations (25% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
5.1b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 19 to 6 computations (68.4% saved)

series69.0ms (0.5%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
22.0ms
a
@inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
19.0ms
a
@-inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
12.0ms
b
@-inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
12.0ms
b
@inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
1.0ms
a
@0
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
721×pow1_binary64
666×add-log-exp_binary64
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
650×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
113818
2182218
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(+.f64 (exp.f64 a) (exp.f64 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 (exp.f64 a) (exp.f64 b))) (/.f64 (pow.f64 (exp.f64 b) 2) (-.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 a) (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2) (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (exp.f64 a) (exp.f64 b)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (exp.f64 b) (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 a) (exp.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 b) (exp.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (exp.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.f64 (exp.f64 b)) (exp.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (exp.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))))))

simplify62.0ms (0.4%)

Algorithm
egg-herbie
Rules
703×fma-def_binary64
462×fma-neg_binary64
428×unswap-sqr_binary64
369×log-prod_binary64
305×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01931383
14931275
216301194
371771194
Stop Event
node limit
Counts
72 → 110
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (exp.f64 b)))
(+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (log.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (log.f64 (+.f64 1 (exp.f64 b)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (+.f64 (log.f64 (+.f64 1 (exp.f64 b))) (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 3))) (/.f64 1 (+.f64 1 (exp.f64 b)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2)))))))))
(log.f64 (+.f64 1 (exp.f64 a)))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (pow.f64 b 2))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 b 3) (-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (*.f64 2 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (pow.f64 b 2))) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 1 (exp.f64 b))
(+.f64 1 (+.f64 a (exp.f64 b)))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 1 (+.f64 a (exp.f64 b))))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 1 (+.f64 a (+.f64 (*.f64 1/6 (pow.f64 a 3)) (exp.f64 b)))))
(+.f64 1 (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (pow.f64 b 2)))))
(+.f64 (*.f64 1/6 (pow.f64 b 3)) (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (pow.f64 b 2))))))
(+.f64 0 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(-.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1)
(-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 (exp.f64 a) (exp.f64 b))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(*.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(*.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
(exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(-.f64 (+.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(-.f64 (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 (exp.f64 a) (exp.f64 b))) (/.f64 (pow.f64 (exp.f64 b) 2) (-.f64 (exp.f64 a) (exp.f64 b))))
(*.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(*.f64 1 (+.f64 (exp.f64 a) (exp.f64 b)))
(*.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2) (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(*.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.f64 (exp.f64 a) (exp.f64 b))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))
(/.f64 1 (/.f64 (-.f64 (exp.f64 a) (exp.f64 b)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a b)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.f64 (exp.f64 a) (exp.f64 b))))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (exp.f64 b) (exp.f64 a)))
(pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3)
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(pow.f64 (exp.f64 1) (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 2))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(exp.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(fma.f64 1 (exp.f64 a) (exp.f64 b))
(fma.f64 1 (exp.f64 b) (exp.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (exp.f64 b))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.f64 (exp.f64 b)) (exp.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (exp.f64 b))
(fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))
Outputs
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (log.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (log.f64 (+.f64 1 (exp.f64 b)))))
(fma.f64 1/2 (*.f64 (*.f64 a a) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2)))) (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b)))))
(+.f64 (log1p.f64 (exp.f64 b)) (fma.f64 (*.f64 (*.f64 1/2 a) a) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 -1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))) (/.f64 a (+.f64 1 (exp.f64 b)))))
(+.f64 (log1p.f64 (exp.f64 b)) (fma.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 -1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))) (*.f64 a (*.f64 a 1/2)) (/.f64 a (+.f64 1 (exp.f64 b)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (+.f64 (log.f64 (+.f64 1 (exp.f64 b))) (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 3))) (/.f64 1 (+.f64 1 (exp.f64 b)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2)))))))))
(fma.f64 1/2 (*.f64 (*.f64 a a) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 b)) 2)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (+.f64 (log1p.f64 (exp.f64 b)) (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 b)) 3))) (/.f64 3 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))))))
(+.f64 (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (-.f64 (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (/.f64 3 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (log1p.f64 (exp.f64 b))) (fma.f64 (*.f64 (*.f64 1/2 a) a) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 -1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))) (/.f64 a (+.f64 1 (exp.f64 b)))))
(+.f64 (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (/.f64 -3 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (log1p.f64 (exp.f64 b))) (fma.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.f64 -1 (pow.f64 (+.f64 1 (exp.f64 b)) 2))) (*.f64 a (*.f64 a 1/2)) (/.f64 a (+.f64 1 (exp.f64 b)))))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (pow.f64 b 2))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (*.f64 b b)) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 1/2 (*.f64 b (*.f64 b (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 -1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(fma.f64 (*.f64 b b) (+.f64 (/.f64 1/2 (+.f64 1 (exp.f64 a))) (/.f64 -1/2 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 b 3) (-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (*.f64 2 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 3)))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (pow.f64 b 2))) (/.f64 b (+.f64 1 (exp.f64 a))))))
(fma.f64 1/6 (*.f64 (pow.f64 b 3) (-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 a)) 3))) (/.f64 3 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))) (+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (*.f64 b b)) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (fma.f64 1/2 (*.f64 b (*.f64 b (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.f64 -1 (pow.f64 (+.f64 1 (exp.f64 a)) 2))))) (/.f64 b (+.f64 1 (exp.f64 a)))) (fma.f64 1/6 (*.f64 (pow.f64 b 3) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (+.f64 (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 -3 (pow.f64 (+.f64 1 (exp.f64 a)) 2))))) (log1p.f64 (exp.f64 a))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 1/6 (*.f64 (pow.f64 b 3) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (+.f64 (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 -3 (pow.f64 (+.f64 1 (exp.f64 a)) 2))))) (fma.f64 (*.f64 b b) (+.f64 (/.f64 1/2 (+.f64 1 (exp.f64 a))) (/.f64 -1/2 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 1 (exp.f64 b))
(+.f64 1 (+.f64 a (exp.f64 b)))
(+.f64 1 (+.f64 (exp.f64 b) a))
(+.f64 (exp.f64 b) (+.f64 1 a))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 1 (+.f64 a (exp.f64 b))))
(fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a)))
(+.f64 (+.f64 (exp.f64 b) a) (fma.f64 1/2 (*.f64 a a) 1))
(+.f64 (exp.f64 b) (+.f64 a (fma.f64 1/2 (*.f64 a a) 1)))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 1 (+.f64 a (+.f64 (*.f64 1/6 (pow.f64 a 3)) (exp.f64 b)))))
(fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 a (fma.f64 1/6 (pow.f64 a 3) (exp.f64 b)))))
(+.f64 (+.f64 a (fma.f64 1/6 (pow.f64 a 3) (exp.f64 b))) (fma.f64 1/2 (*.f64 a a) 1))
(+.f64 (exp.f64 b) (+.f64 (fma.f64 1/2 (*.f64 a a) 1) (fma.f64 1/6 (pow.f64 a 3) a)))
(+.f64 1 (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 (exp.f64 a) (+.f64 1 b))
(+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (pow.f64 b 2)))))
(+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b)))))
(+.f64 1 (+.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 1 (+.f64 (exp.f64 a) (fma.f64 b (*.f64 b 1/2) b)))
(+.f64 (*.f64 1/6 (pow.f64 b 3)) (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (pow.f64 b 2))))))
(fma.f64 1/6 (pow.f64 b 3) (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
(+.f64 (+.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 b b) b)) (fma.f64 1/6 (pow.f64 b 3) 1))
(+.f64 (exp.f64 a) (+.f64 (fma.f64 b (*.f64 b 1/2) b) (fma.f64 1/6 (pow.f64 b 3) 1)))
(+.f64 0 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(-.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1)
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 (exp.f64 a) (exp.f64 b))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (log.f64 (fma.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)) (pow.f64 (exp.f64 a) 2))))
(*.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(*.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3) 1/3)
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(-.f64 (+.f64 1 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(-.f64 (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 (exp.f64 a) (exp.f64 b))) (/.f64 (pow.f64 (exp.f64 b) 2) (-.f64 (exp.f64 a) (exp.f64 b))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(*.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(*.f64 1 (+.f64 (exp.f64 a) (exp.f64 b)))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(*.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2) (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(*.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.f64 (exp.f64 a) (exp.f64 b))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 1 (/.f64 (-.f64 (exp.f64 a) (exp.f64 b)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a b)))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (-.f64 (exp.f64 b) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.f64 (exp.f64 a) (exp.f64 b))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (exp.f64 b) (exp.f64 a)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3) 1/3)
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3)
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (exp.f64 1) (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 2))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(exp.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 1 (exp.f64 a) (exp.f64 b))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 1 (exp.f64 b) (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (exp.f64 b))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.f64 (exp.f64 b)) (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (exp.f64 b))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) (-.f64 (exp.f64 b) 1)))
(+.f64 1 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (exp.f64 b) (exp.f64 a))

eval30.0ms (0.2%)

Compiler

Compiled 1918 to 1025 computations (46.6% saved)

prune22.0ms (0.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1037110
Fresh000
Picked011
Done000
Total1038111
Error
0.4b
Counts
111 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
28.4b
(-.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1)
0.6b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
30.0b
(log1p.f64 (exp.f64 b))
28.9b
(log1p.f64 (exp.f64 a))
28.5b
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
27.9b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
28.4b
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
30.0b
(log.f64 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 138 to 106 computations (23.2% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (exp.f64 a))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.0b
(+.f64 1 (exp.f64 a))
Compiler

Compiled 30 to 14 computations (53.3% saved)

series43.0ms (0.3%)

Counts
3 → 20
Calls

12 calls:

TimeVariablePointExpression
14.0ms
a
@-inf
(/.f64 b (+.f64 1 (exp.f64 a)))
14.0ms
a
@inf
(log1p.f64 (exp.f64 a))
11.0ms
a
@-inf
(log1p.f64 (exp.f64 a))
1.0ms
b
@inf
(/.f64 b (+.f64 1 (exp.f64 a)))
1.0ms
a
@inf
(/.f64 b (+.f64 1 (exp.f64 a)))

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
822×pow1_binary64
761×add-log-exp_binary64
761×expm1-log1p-u_binary64
760×log1p-expm1-u_binary64
745×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
115920
2203620
Stop Event
node limit
Counts
3 → 86
Calls
Call 1
Inputs
(+.f64 1 (exp.f64 a))
(/.f64 b (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 1 (exp.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (cbrt.f64 (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (exp.f64 (*.f64 a 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (exp.f64 (*.f64 a 3)))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log1p.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))) (cbrt.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))) (sqrt.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 b (+.f64 1 (exp.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 b (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (/.f64 1 (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 b) (/.f64 1 (+.f64 (neg.f64 (exp.f64 a)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 b) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 (sqrt.f64 b) (cbrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 b (sqrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 (cbrt.f64 b) (sqrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (+.f64 1 (exp.f64 (*.f64 a 3)))) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 b (+.f64 (neg.f64 (exp.f64 a)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log1p.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log1p.f64 (exp.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 1 (exp.f64 (*.f64 a 3)))) (log.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)) (cbrt.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (exp.f64 a))))))))

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
857×fma-def_binary64
609×unswap-sqr_binary64
474×associate-/r*_binary64
423×associate-/l*_binary64
239×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02391392
15861248
221461052
Stop Event
node limit
Counts
106 → 143
Calls
Call 1
Inputs
2
(+.f64 2 a)
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 a))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a (*.f64 1/6 (pow.f64 a 3)))))
(*.f64 1/2 b)
(+.f64 (*.f64 1/2 b) (*.f64 -1/4 (*.f64 a b)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1/16 b) (+.f64 (*.f64 1/24 b) (*.f64 -1/2 (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b)))))
(log.f64 2)
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 a) (+.f64 (log.f64 2) (*.f64 1/8 (pow.f64 a 2))))
(+.f64 (*.f64 1/2 a) (+.f64 (log.f64 2) (+.f64 (*.f64 -1/192 (pow.f64 a 4)) (*.f64 1/8 (pow.f64 a 2)))))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(-.f64 (+.f64 1 (+.f64 1 (exp.f64 a))) 1)
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(*.f64 1 (+.f64 1 (exp.f64 a)))
(*.f64 (+.f64 1 (exp.f64 a)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (cbrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (exp.f64 (*.f64 a 3)))))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(/.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (neg.f64 (+.f64 1 (exp.f64 (*.f64 a 3)))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(pow.f64 (E.f64) (log1p.f64 (exp.f64 a)))
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(exp.f64 (log1p.f64 (exp.f64 a)))
(fma.f64 1 (exp.f64 a) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
(-.f64 (+.f64 1 (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(*.f64 1 (/.f64 b (+.f64 1 (exp.f64 a))))
(*.f64 b (/.f64 1 (+.f64 1 (exp.f64 a))))
(*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1)
(*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))))
(*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))))
(*.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (neg.f64 b) (/.f64 1 (+.f64 (neg.f64 (exp.f64 a)) -1)))
(*.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) b)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (+.f64 1 (exp.f64 a))))
(*.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (+.f64 1 (exp.f64 a))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 (sqrt.f64 b) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 (sqrt.f64 b) (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 b (sqrt.f64 (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 (cbrt.f64 b) (sqrt.f64 (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 b (+.f64 1 (exp.f64 (*.f64 a 3)))) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(*.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)))
(pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1)
(pow.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)
(pow.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2)
(pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -1)
(neg.f64 (/.f64 b (+.f64 (neg.f64 (exp.f64 a)) -1)))
(sqrt.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))
(log.f64 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(cbrt.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3))
(cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))
(expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(log1p.f64 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a))))
(+.f64 0 (log1p.f64 (exp.f64 a)))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 a))) 1)
(-.f64 (log.f64 (+.f64 1 (exp.f64 (*.f64 a 3)))) (log.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a))))
(*.f64 1 (log1p.f64 (exp.f64 a)))
(*.f64 (log1p.f64 (exp.f64 a)) 1)
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(pow.f64 (log1p.f64 (exp.f64 a)) 1)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))
(log.f64 (+.f64 1 (exp.f64 a)))
(cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 a))))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 a))))
Outputs
2
(+.f64 2 a)
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 a))
(fma.f64 1/2 (*.f64 a a) (+.f64 2 a))
(+.f64 2 (fma.f64 a (*.f64 a 1/2) a))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a (*.f64 1/6 (pow.f64 a 3)))))
(fma.f64 1/2 (*.f64 a a) (+.f64 2 (+.f64 a (*.f64 1/6 (pow.f64 a 3)))))
(+.f64 (fma.f64 1/6 (pow.f64 a 3) a) (fma.f64 1/2 (*.f64 a a) 2))
(+.f64 (fma.f64 1/6 (pow.f64 a 3) a) (fma.f64 a (*.f64 a 1/2) 2))
(*.f64 1/2 b)
(+.f64 (*.f64 1/2 b) (*.f64 -1/4 (*.f64 a b)))
(fma.f64 1/2 b (*.f64 -1/4 (*.f64 a b)))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(*.f64 b (fma.f64 a -1/4 1/2))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b))))
(fma.f64 1/2 b (*.f64 -1/4 (*.f64 a b)))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(*.f64 b (fma.f64 a -1/4 1/2))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -1/16 b) (+.f64 (*.f64 1/24 b) (*.f64 -1/2 (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 1/2 b (fma.f64 -1 (*.f64 (pow.f64 a 3) (fma.f64 -1/16 b (fma.f64 1/24 b (*.f64 (*.f64 b 0) -1/2)))) (fma.f64 -1 (*.f64 (*.f64 a a) (*.f64 b 0)) (*.f64 -1/4 (*.f64 a b)))))
(fma.f64 1/2 b (-.f64 (fma.f64 -1/4 (*.f64 a b) (*.f64 a (*.f64 a 0))) (*.f64 (pow.f64 a 3) (+.f64 0 (*.f64 b -1/48)))))
(-.f64 (*.f64 b (fma.f64 a -1/4 1/2)) (*.f64 (pow.f64 a 3) (*.f64 b -1/48)))
(log.f64 2)
(+.f64 (*.f64 1/2 a) (log.f64 2))
(fma.f64 1/2 a (log.f64 2))
(fma.f64 a 1/2 (log.f64 2))
(+.f64 (*.f64 1/2 a) (+.f64 (log.f64 2) (*.f64 1/8 (pow.f64 a 2))))
(+.f64 (fma.f64 1/2 a (log.f64 2)) (*.f64 (*.f64 a a) 1/8))
(fma.f64 a 1/2 (fma.f64 (*.f64 a a) 1/8 (log.f64 2)))
(fma.f64 a 1/2 (fma.f64 a (*.f64 a 1/8) (log.f64 2)))
(+.f64 (*.f64 1/2 a) (+.f64 (log.f64 2) (+.f64 (*.f64 -1/192 (pow.f64 a 4)) (*.f64 1/8 (pow.f64 a 2)))))
(+.f64 (fma.f64 1/2 a (log.f64 2)) (fma.f64 -1/192 (pow.f64 a 4) (*.f64 (*.f64 a a) 1/8)))
(+.f64 (fma.f64 a 1/2 (log.f64 2)) (fma.f64 (*.f64 a a) 1/8 (*.f64 -1/192 (pow.f64 a 4))))
(fma.f64 a 1/2 (fma.f64 a (*.f64 a 1/8) (fma.f64 -1/192 (pow.f64 a 4) (log.f64 2))))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(-.f64 (+.f64 1 (+.f64 1 (exp.f64 a))) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(*.f64 1 (+.f64 1 (exp.f64 a)))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(*.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(*.f64 (cbrt.f64 (+.f64 2 (expm1.f64 a))) (cbrt.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (cbrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(*.f64 (cbrt.f64 (+.f64 2 (expm1.f64 a))) (cbrt.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(*.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (exp.f64 (*.f64 a 3)))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (+.f64 1 (exp.f64 (*.f64 a 3))) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 (neg.f64 (+.f64 1 (exp.f64 (*.f64 a 3)))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 a)))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(exp.f64 (log1p.f64 (exp.f64 a)))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(fma.f64 1 (exp.f64 a) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 2 (+.f64 (exp.f64 a) -1))
(+.f64 2 (expm1.f64 a))
(-.f64 (+.f64 1 (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 1 (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 b (/.f64 1 (+.f64 1 (exp.f64 a))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (neg.f64 b) (/.f64 1 (+.f64 (neg.f64 (exp.f64 a)) -1)))
(*.f64 (neg.f64 b) (/.f64 1 (+.f64 -1 (neg.f64 (exp.f64 a)))))
(/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a)))
(*.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) b)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (+.f64 1 (exp.f64 a))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (+.f64 1 (exp.f64 a))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(/.f64 (*.f64 1 (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a))))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (/.f64 b (cbrt.f64 (+.f64 2 (expm1.f64 a)))) (cbrt.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
(/.f64 (pow.f64 (cbrt.f64 b) 2) (/.f64 (cbrt.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2)) (cbrt.f64 (/.f64 b (+.f64 2 (expm1.f64 a))))))
(*.f64 (/.f64 (sqrt.f64 b) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 (sqrt.f64 b) (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(/.f64 (*.f64 1 (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a))))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (/.f64 b (cbrt.f64 (+.f64 2 (expm1.f64 a)))) (cbrt.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(*.f64 (/.f64 1 (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 b (sqrt.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 (cbrt.f64 b) (sqrt.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 b (+.f64 1 (exp.f64 (*.f64 a 3)))) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(*.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (/.f64 b (+.f64 1 (pow.f64 (exp.f64 a) 3))))
(/.f64 b (/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1)))
(/.f64 (*.f64 b (fma.f64 (exp.f64 a) (expm1.f64 a) 1)) (+.f64 1 (pow.f64 (exp.f64 a) 3)))
(*.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)))
(*.f64 (-.f64 1 (exp.f64 a)) (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.f64 b (/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a)))
(pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -1)
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(neg.f64 (/.f64 b (+.f64 (neg.f64 (exp.f64 a)) -1)))
(*.f64 (neg.f64 b) (/.f64 1 (+.f64 -1 (neg.f64 (exp.f64 a)))))
(/.f64 (neg.f64 b) (-.f64 -1 (exp.f64 a)))
(sqrt.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(log.f64 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(cbrt.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(expm1.f64 (log1p.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(log1p.f64 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a))))
(+.f64 1 (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1))
(+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 0)
(/.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 0 (log1p.f64 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 a)))))
(log1p.f64 (exp.f64 a))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2))) (log.f64 (cbrt.f64 (+.f64 2 (expm1.f64 a)))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 a))) 1)
(log1p.f64 (exp.f64 a))
(-.f64 (log.f64 (+.f64 1 (exp.f64 (*.f64 a 3)))) (log.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(-.f64 (log1p.f64 (pow.f64 (exp.f64 a) 3)) (log1p.f64 (*.f64 (exp.f64 a) (expm1.f64 a))))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (log.f64 (-.f64 1 (exp.f64 a))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 a) 2))) (log1p.f64 (neg.f64 (exp.f64 a))))
(*.f64 1 (log1p.f64 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(*.f64 (log1p.f64 (exp.f64 a)) 1)
(log1p.f64 (exp.f64 a))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2)) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(log1p.f64 (exp.f64 a))
(pow.f64 (log1p.f64 (exp.f64 a)) 1)
(log1p.f64 (exp.f64 a))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)
(log1p.f64 (exp.f64 a))
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)
(log1p.f64 (exp.f64 a))
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)
(log1p.f64 (exp.f64 a))
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3))
(log1p.f64 (exp.f64 a))
(expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 a))))
(log1p.f64 (exp.f64 a))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 a))))
(log1p.f64 (exp.f64 a))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (exp.f64 a))
Compiler

Compiled 8 to 4 computations (50% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.2b
(log1p.f64 (exp.f64 b))
Compiler

Compiled 8 to 4 computations (50% saved)

series31.0ms (0.2%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
18.0ms
b
@-inf
(log1p.f64 (exp.f64 b))
13.0ms
b
@inf
(log1p.f64 (exp.f64 b))
0.0ms
b
@0
(log1p.f64 (exp.f64 b))

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
318×pow1_binary64
312×associate-*l*_binary64
305×add-sqr-sqrt_binary64
300×*-un-lft-identity_binary64
291×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1735
28195
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(log1p.f64 (exp.f64 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1)) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 (exp.f64 b) 3)) (log.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (sqrt.f64 (log1p.f64 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3/2)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)) 1/3) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2) 1/3) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 3) 1) (+.f64 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b)))) (+.f64 1 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b)))) 1) (+.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))) 2)) (cbrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log1p.f64 (exp.f64 b))))) (sqrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (exp.f64 b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 (exp.f64 b)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 (exp.f64 b)))) 2))))))

simplify47.0ms (0.3%)

Algorithm
egg-herbie
Rules
574×fma-def_binary64
495×times-frac_binary64
398×associate-*l/_binary64
349×associate-/l*_binary64
290×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0145570
1334551
21023544
34090521
Stop Event
node limit
Counts
56 → 77
Calls
Call 1
Inputs
(log.f64 2)
(+.f64 (*.f64 1/2 b) (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (+.f64 (log.f64 2) (*.f64 -1/192 (pow.f64 b 4)))))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log.f64 (+.f64 1 (exp.f64 b)))
(+.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) -1)
(+.f64 0 (log1p.f64 (exp.f64 b)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1)) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))))
(-.f64 (log1p.f64 (pow.f64 (exp.f64 b) 3)) (log.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)
(-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))
(*.f64 (log1p.f64 (exp.f64 b)) 1)
(*.f64 1 (log1p.f64 (exp.f64 b)))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) 1))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b))))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3/2)))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (sqrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (cbrt.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3/2)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))
(*.f64 (pow.f64 1 1/3) (log1p.f64 (exp.f64 b)))
(*.f64 (pow.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)) 1/3) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2) 1/3) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 3) 1) (+.f64 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b)))) (+.f64 1 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b)))) 1) (+.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1))
(pow.f64 (log1p.f64 (exp.f64 b)) 1)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2) 1/2)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)
(pow.f64 (E.f64) (log.f64 (log1p.f64 (exp.f64 b))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))) 2)) (cbrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log1p.f64 (exp.f64 b))))) (sqrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))))
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2))
(fabs.f64 (log1p.f64 (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 b) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 b))))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 (exp.f64 b)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 (exp.f64 b)))) 2))
Outputs
(log.f64 2)
(+.f64 (*.f64 1/2 b) (log.f64 2))
(fma.f64 1/2 b (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (log.f64 2)))
(fma.f64 1/2 b (fma.f64 1/8 (*.f64 b b) (log.f64 2)))
(fma.f64 1/2 b (fma.f64 b (*.f64 b 1/8) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (+.f64 (log.f64 2) (*.f64 -1/192 (pow.f64 b 4)))))
(fma.f64 1/2 b (+.f64 (fma.f64 1/8 (*.f64 b b) (log.f64 2)) (*.f64 -1/192 (pow.f64 b 4))))
(fma.f64 1/2 b (fma.f64 1/8 (*.f64 b b) (fma.f64 -1/192 (pow.f64 b 4) (log.f64 2))))
(fma.f64 1/2 b (fma.f64 b (*.f64 b 1/8) (fma.f64 -1/192 (pow.f64 b 4) (log.f64 2))))
(fma.f64 b (*.f64 b 1/8) (fma.f64 1/2 b (fma.f64 -1/192 (pow.f64 b 4) (log.f64 2))))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(+.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) -1)
(log1p.f64 (exp.f64 b))
(+.f64 0 (log1p.f64 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1)) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))))) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b)))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b)))))
(*.f64 (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b)))) 3)
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))))
(*.f64 2 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 b)))))
(-.f64 (log1p.f64 (pow.f64 (exp.f64 b) 3)) (log.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(-.f64 (log1p.f64 (pow.f64 (exp.f64 b) 3)) (log1p.f64 (*.f64 (exp.f64 b) (expm1.f64 b))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)
(log1p.f64 (exp.f64 b))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))
(-.f64 (log1p.f64 (neg.f64 (exp.f64 (+.f64 b b)))) (log1p.f64 (neg.f64 (exp.f64 b))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 b) 2))) (log1p.f64 (neg.f64 (exp.f64 b))))
(-.f64 (log1p.f64 (neg.f64 (exp.f64 (+.f64 b b)))) (log.f64 (neg.f64 (expm1.f64 b))))
(*.f64 (log1p.f64 (exp.f64 b)) 1)
(log1p.f64 (exp.f64 b))
(*.f64 1 (log1p.f64 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2))
(log1p.f64 (exp.f64 b))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) 1))
(log1p.f64 (exp.f64 b))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)))
(log1p.f64 (exp.f64 b))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)))
(log1p.f64 (exp.f64 b))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 4)) (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2)))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 5))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3/2)))
(log1p.f64 (exp.f64 b))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/4) (sqrt.f64 (log1p.f64 (exp.f64 b)))))
(log1p.f64 (exp.f64 b))
(*.f64 (cbrt.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (cbrt.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 8)))
(*.f64 (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2)))
(*.f64 (sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3/2)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/4))
(log1p.f64 (exp.f64 b))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5/2))
(*.f64 (pow.f64 1 1/3) (log1p.f64 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(*.f64 (pow.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5)) 1/3) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (cbrt.f64 (*.f64 (log1p.f64 (exp.f64 b)) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 5))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 8)))
(*.f64 (pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2) 1/3) (pow.f64 (log1p.f64 (exp.f64 b)) 1/6))
(*.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 1/6) (cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 5/2)))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 3) 1) (+.f64 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b)))) (+.f64 1 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 3) -1) (fma.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (+.f64 1 (log1p.f64 (exp.f64 b))))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 3)) (fma.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 2 (log1p.f64 (exp.f64 b)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 3)) (+.f64 1 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 2 (log1p.f64 (exp.f64 b))))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) (+.f64 1 (log1p.f64 (exp.f64 b)))) 1) (+.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1))
(log1p.f64 (exp.f64 b))
(pow.f64 (log1p.f64 (exp.f64 b)) 1)
(log1p.f64 (exp.f64 b))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2) 1/2)
(log1p.f64 (exp.f64 b))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)
(log1p.f64 (exp.f64 b))
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)
(log1p.f64 (exp.f64 b))
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)
(log1p.f64 (exp.f64 b))
(pow.f64 (E.f64) (log.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))) 2)) (cbrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log1p.f64 (exp.f64 b))))) (sqrt.f64 (log.f64 (log1p.f64 (exp.f64 b)))))
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2))
(log1p.f64 (exp.f64 b))
(fabs.f64 (log1p.f64 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 (exp.f64 b) 1))
(log1p.f64 (exp.f64 b))
(cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3))
(log1p.f64 (exp.f64 b))
(expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (log1p.f64 (exp.f64 b)))) 1/3))
(log1p.f64 (exp.f64 b))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 3))
(log1p.f64 (exp.f64 b))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log1p.f64 (exp.f64 b)))) 2))
(log1p.f64 (exp.f64 b))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 b))
1.2b
(log.f64 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 15 to 9 computations (40% saved)

series13.0ms (0.1%)

Counts
2 → 8
Calls

6 calls:

TimeVariablePointExpression
12.0ms
b
@inf
(log.f64 (+.f64 1 (exp.f64 b)))
0.0ms
b
@0
(log.f64 (+.f64 1 (exp.f64 b)))
0.0ms
b
@0
(+.f64 1 (exp.f64 b))
0.0ms
b
@-inf
(log.f64 (+.f64 1 (exp.f64 b)))
0.0ms
b
@inf
(+.f64 1 (exp.f64 b))

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
533×pow1_binary64
518×add-sqr-sqrt_binary64
494×add-log-exp_binary64
494×log1p-expm1-u_binary64
494×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
111511
2134511
Stop Event
node limit
Counts
2 → 53
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (exp.f64 b)))
(+.f64 1 (exp.f64 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2)) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (log.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (exp.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 1 (exp.f64 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (exp.f64 b))) (/.f64 (pow.f64 (exp.f64 b) 2) (-.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2) (cbrt.f64 (+.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (exp.f64 b))) (sqrt.f64 (+.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))) (+.f64 1 (pow.f64 (exp.f64 b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (exp.f64 b)) (-.f64 1 (pow.f64 (exp.f64 b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 b) 2) (-.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 b) 2) 1) (expm1.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)) (cbrt.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 b)))) (sqrt.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (exp.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.f64 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) 1)))))

simplify59.0ms (0.4%)

Algorithm
egg-herbie
Rules
479×times-frac_binary64
466×associate-/l*_binary64
421×fma-def_binary64
292×unswap-sqr_binary64
231×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0135641
1314600
21005510
33727498
Stop Event
node limit
Counts
61 → 84
Calls
Call 1
Inputs
(log.f64 2)
(+.f64 (*.f64 1/2 b) (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (+.f64 (log.f64 2) (*.f64 -1/192 (pow.f64 b 4)))))
2
(+.f64 2 b)
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 (*.f64 1/6 (pow.f64 b 3)) (+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2)))))
(+.f64 0 (log1p.f64 (exp.f64 b)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2)) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b)))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)
(-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))
(-.f64 (log.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (log.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(*.f64 1 (log1p.f64 (exp.f64 b)))
(*.f64 (log1p.f64 (exp.f64 b)) 1)
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b))))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(pow.f64 (log1p.f64 (exp.f64 b)) 1)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2))
(cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))
(-.f64 (+.f64 1 (+.f64 1 (exp.f64 b))) 1)
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 b))) (/.f64 (pow.f64 (exp.f64 b) 2) (-.f64 1 (exp.f64 b))))
(*.f64 1 (+.f64 1 (exp.f64 b)))
(*.f64 (+.f64 1 (exp.f64 b)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2) (cbrt.f64 (+.f64 1 (exp.f64 b))))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 b))) (sqrt.f64 (+.f64 1 (exp.f64 b))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.f64 1 (exp.f64 b))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))) (+.f64 1 (pow.f64 (exp.f64 b) 3))))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 b)) (-.f64 1 (pow.f64 (exp.f64 b) 2))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 b) 2) (-.f64 1 (exp.f64 b))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.f64 1 (exp.f64 b))))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) 1) (expm1.f64 b))
(pow.f64 (+.f64 1 (exp.f64 b)) 1)
(pow.f64 (E.f64) (log1p.f64 (exp.f64 b)))
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 b))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)) (cbrt.f64 (log1p.f64 (exp.f64 b))))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 b)))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 b))))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3))
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 b))))
(exp.f64 (log1p.f64 (exp.f64 b)))
(fma.f64 1 (exp.f64 b) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.f64 (exp.f64 b)) 1)
(fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) 1)
Outputs
(log.f64 2)
(+.f64 (*.f64 1/2 b) (log.f64 2))
(fma.f64 1/2 b (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (log.f64 2)))
(fma.f64 1/2 b (fma.f64 1/8 (*.f64 b b) (log.f64 2)))
(fma.f64 1/2 b (fma.f64 b (*.f64 b 1/8) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (+.f64 (log.f64 2) (*.f64 -1/192 (pow.f64 b 4)))))
(fma.f64 1/2 b (+.f64 (fma.f64 1/8 (*.f64 b b) (log.f64 2)) (*.f64 -1/192 (pow.f64 b 4))))
(fma.f64 1/2 b (fma.f64 1/8 (*.f64 b b) (fma.f64 -1/192 (pow.f64 b 4) (log.f64 2))))
(fma.f64 1/2 b (fma.f64 b (*.f64 b 1/8) (fma.f64 -1/192 (pow.f64 b 4) (log.f64 2))))
2
(+.f64 2 b)
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(+.f64 (*.f64 1/6 (pow.f64 b 3)) (+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2)))))
(fma.f64 1/6 (pow.f64 b 3) (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(fma.f64 1/6 (pow.f64 b 3) (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 2 (fma.f64 1/6 (pow.f64 b 3) (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 0 (log1p.f64 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2)) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 b)))))
(log1p.f64 (exp.f64 b))
(+.f64 (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 1 (exp.f64 b)))))
(log1p.f64 (exp.f64 b))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)
(log1p.f64 (exp.f64 b))
(-.f64 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 b) 2))) (log1p.f64 (neg.f64 (exp.f64 b))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 b) 2))) (log.f64 (neg.f64 (expm1.f64 b))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 2) b))) (log.f64 (neg.f64 (expm1.f64 b))))
(-.f64 (log.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (log.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(-.f64 (log1p.f64 (pow.f64 (exp.f64 b) 3)) (log1p.f64 (*.f64 (exp.f64 b) (expm1.f64 b))))
(*.f64 1 (log1p.f64 (exp.f64 b)))
(log1p.f64 (exp.f64 b))
(*.f64 (log1p.f64 (exp.f64 b)) 1)
(log1p.f64 (exp.f64 b))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2))
(log1p.f64 (exp.f64 b))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(pow.f64 (log1p.f64 (exp.f64 b)) 1)
(log1p.f64 (exp.f64 b))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)
(log1p.f64 (exp.f64 b))
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)
(log1p.f64 (exp.f64 b))
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)
(log1p.f64 (exp.f64 b))
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 2))
(log1p.f64 (exp.f64 b))
(cbrt.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3))
(log1p.f64 (exp.f64 b))
(expm1.f64 (log1p.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(log1p.f64 (exp.f64 b))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(-.f64 (+.f64 1 (+.f64 1 (exp.f64 b))) 1)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 b))) (/.f64 (pow.f64 (exp.f64 b) 2) (-.f64 1 (exp.f64 b))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (expm1.f64 (+.f64 b b)) (expm1.f64 b))
(/.f64 (+.f64 2 (expm1.f64 b)) 1)
(*.f64 1 (+.f64 1 (exp.f64 b)))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(*.f64 (+.f64 1 (exp.f64 b)) 1)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 2) (cbrt.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 b))) (sqrt.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) 1) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (expm1.f64 b) 1))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.f64 1 (exp.f64 b))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (expm1.f64 (+.f64 b b)) (expm1.f64 b))
(/.f64 (+.f64 2 (expm1.f64 b)) 1)
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))) (+.f64 1 (pow.f64 (exp.f64 b) 3))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) 1) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (expm1.f64 b) 1))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 b)) (-.f64 1 (pow.f64 (exp.f64 b) 2))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (expm1.f64 (+.f64 b b)) (expm1.f64 b))
(/.f64 (+.f64 2 (expm1.f64 b)) 1)
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) 1) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (expm1.f64 b) 1))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (+.f64 (pow.f64 (exp.f64 b) 2) (-.f64 1 (exp.f64 b))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) 1) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (expm1.f64 b) 1))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (expm1.f64 (+.f64 b b)) (expm1.f64 b))
(/.f64 (+.f64 2 (expm1.f64 b)) 1)
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) 1) (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (expm1.f64 b) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.f64 1 (exp.f64 b))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (expm1.f64 (+.f64 b b)) (expm1.f64 b))
(/.f64 (+.f64 2 (expm1.f64 b)) 1)
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) 1) (expm1.f64 b))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.f64 (expm1.f64 (+.f64 b b)) (expm1.f64 b))
(/.f64 (+.f64 2 (expm1.f64 b)) 1)
(pow.f64 (+.f64 1 (exp.f64 b)) 1)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 b)))
(exp.f64 (log1p.f64 (exp.f64 b)))
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3) 1/3)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 3)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 b))) 2)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2)) (cbrt.f64 (log1p.f64 (exp.f64 b))))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 b)))
(exp.f64 (log1p.f64 (exp.f64 b)))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 b)))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 b)))
(exp.f64 (log1p.f64 (exp.f64 b)))
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 b))))
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(exp.f64 (log1p.f64 (exp.f64 b)))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 b)))
(fma.f64 1 (exp.f64 b) 1)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.f64 (exp.f64 b)) 1)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))
(fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) 1)
(+.f64 (+.f64 2 (exp.f64 b)) -1)
(+.f64 2 (-.f64 (exp.f64 b) 1))
(+.f64 (exp.f64 b) 1)
(+.f64 2 (expm1.f64 b))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (+.f64 1 b))
2.9b
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
Compiler

Compiled 23 to 13 computations (43.5% saved)

series63.0ms (0.4%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
33.0ms
a
@0
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
15.0ms
a
@inf
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
12.0ms
a
@-inf
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
1.0ms
b
@inf
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
1.0ms
b
@-inf
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
915×pow1_binary64
851×add-log-exp_binary64
850×log1p-expm1-u_binary64
850×expm1-log1p-u_binary64
834×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
116620
2228420
Stop Event
node limit
Counts
2 → 58
Calls
Call 1
Inputs
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (exp.f64 a) (+.f64 1 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (log.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 (expm1.f64 a) b)) (/.f64 (pow.f64 (+.f64 1 b) 2) (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (/.f64 1 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (expm1.f64 a) b) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (+.f64 1 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a (log1p.f64 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (expm1.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (neg.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 a) 1) 3) (pow.f64 b 3)) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (-.f64 (*.f64 b b) (*.f64 (+.f64 (exp.f64 a) 1) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (+.f64 1 b) (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) (-.f64 (+.f64 (exp.f64 a) 1) b))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2)) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (exp.f64 a) (+.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 b) (exp.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 b)) 2) (cbrt.f64 (+.f64 1 b)) (exp.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (+.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (+.f64 1 b)) (exp.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (+.f64 1 b))))))

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
863×fma-def_binary64
544×distribute-rgt-in_binary64
525×distribute-lft-in_binary64
478×unswap-sqr_binary64
226×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02301657
16251611
221091584
Stop Event
node limit
Counts
106 → 148
Calls
Call 1
Inputs
(log.f64 (+.f64 2 b))
(+.f64 (/.f64 a (+.f64 2 b)) (log.f64 (+.f64 2 b)))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 2 b) 3))) (/.f64 1 (+.f64 2 b))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (exp.f64 a)))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3))))))
(*.f64 -1 (log.f64 (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (/.f64 1 b))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b))))))
(+.f64 2 b)
(+.f64 2 (+.f64 a b))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a b)))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a (+.f64 (*.f64 1/6 (pow.f64 a 3)) b))))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
b
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
b
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 0 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(-.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1)
(-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (log.f64 (-.f64 (expm1.f64 a) b)))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))
(*.f64 1 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(*.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)
(*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)
(pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1))
(exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(-.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)
(-.f64 (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 (expm1.f64 a) b)) (/.f64 (pow.f64 (+.f64 1 b) 2) (-.f64 (expm1.f64 a) b)))
(*.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b)))
(*.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(*.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))
(*.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (/.f64 1 (-.f64 (expm1.f64 a) b)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))))
(/.f64 1 (/.f64 (-.f64 (expm1.f64 a) b) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (+.f64 1 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a (log1p.f64 b))))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (expm1.f64 a) b))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (neg.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 a) 1) 3) (pow.f64 b 3)) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (-.f64 (*.f64 b b) (*.f64 (+.f64 (exp.f64 a) 1) b))))
(/.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (+.f64 1 b) (exp.f64 a)))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) (-.f64 (+.f64 (exp.f64 a) 1) b))
(pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(pow.f64 (E.f64) (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3)
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2)) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 2))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(exp.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(fma.f64 1 (exp.f64 a) (+.f64 1 b))
(fma.f64 1 (+.f64 1 b) (exp.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 b)) 2) (cbrt.f64 (+.f64 1 b)) (exp.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (+.f64 1 b))
(fma.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (+.f64 1 b)) (exp.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (+.f64 1 b))
Outputs
(log.f64 (+.f64 2 b))
(+.f64 (/.f64 a (+.f64 2 b)) (log.f64 (+.f64 2 b)))
(+.f64 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b)))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (*.f64 1/2 (*.f64 (*.f64 a a) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))))
(+.f64 (/.f64 a (+.f64 2 b)) (fma.f64 1/2 (*.f64 a (*.f64 a (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2))))) (log.f64 (+.f64 2 b))))
(+.f64 (log.f64 (+.f64 2 b)) (fma.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2))) (*.f64 a (*.f64 a 1/2)) (/.f64 a (+.f64 2 b))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 2 b) 3))) (/.f64 1 (+.f64 2 b))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 2 (pow.f64 (+.f64 2 b) 3)) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 3 (pow.f64 (+.f64 2 b) 2))))) (*.f64 1/2 (*.f64 (*.f64 a a) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (fma.f64 1/2 (*.f64 a (*.f64 a (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2))))) (log.f64 (+.f64 2 b))) (*.f64 (pow.f64 a 3) (*.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (+.f64 (/.f64 2 (pow.f64 (+.f64 2 b) 3)) (/.f64 -3 (pow.f64 (+.f64 2 b) 2)))) 1/6))))
(+.f64 (/.f64 a (+.f64 2 b)) (fma.f64 1/2 (*.f64 a (*.f64 a (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2))))) (fma.f64 (pow.f64 a 3) (*.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (+.f64 (/.f64 2 (pow.f64 (+.f64 2 b) 3)) (/.f64 -3 (pow.f64 (+.f64 2 b) 2)))) 1/6) (log.f64 (+.f64 2 b)))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (/.f64 b (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b)) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3))))))
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (fma.f64 -1/2 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 b (+.f64 1 (exp.f64 a)))) (*.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (/.f64 b (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b)) (fma.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (fma.f64 1/3 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3) (/.f64 b (+.f64 1 (exp.f64 a)))) (fma.f64 -1/2 (/.f64 b (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b)) (log1p.f64 (exp.f64 a))))
(*.f64 -1 (log.f64 (/.f64 1 b)))
(neg.f64 (neg.f64 (log.f64 b)))
(log.f64 b)
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 1 b)))
(+.f64 (/.f64 1 b) (+.f64 (log.f64 b) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (/.f64 1 b) (log.f64 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b))))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (+.f64 (log.f64 b) (/.f64 (exp.f64 a) b)))
(+.f64 (fma.f64 (/.f64 -1/2 b) (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b) (log.f64 b)) (+.f64 (/.f64 1 b) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b)))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b)))))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b))) (+.f64 (log.f64 b) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)) (fma.f64 (/.f64 -1/2 b) (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b) (log.f64 b))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1))
(fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))
(-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (/.f64 1 b))))
(fma.f64 -1 (log.f64 (/.f64 -1 b)) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (/.f64 1 b) (log.f64 -1))))
(-.f64 (+.f64 (/.f64 1 b) (+.f64 (/.f64 (exp.f64 a) b) (log.f64 -1))) (log.f64 (/.f64 -1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (-.f64 (+.f64 (/.f64 1 b) (log.f64 -1)) (log.f64 (/.f64 -1 b))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b)))))
(fma.f64 -1 (log.f64 (/.f64 -1 b)) (+.f64 (+.f64 (/.f64 (exp.f64 a) b) (log.f64 -1)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b))))
(-.f64 (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (+.f64 (/.f64 (exp.f64 a) b) (log.f64 -1))) (log.f64 (/.f64 -1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (-.f64 (fma.f64 (/.f64 -1/2 b) (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b) (+.f64 (/.f64 1 b) (log.f64 -1))) (log.f64 (/.f64 -1 b))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b))))))
(fma.f64 -1 (log.f64 (/.f64 -1 b)) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b))) (log.f64 -1))))
(-.f64 (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b))) (log.f64 -1))) (log.f64 (/.f64 -1 b)))
(+.f64 (+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (log.f64 -1))) (-.f64 (/.f64 (exp.f64 a) b) (log.f64 (/.f64 -1 b))))
(+.f64 2 b)
(+.f64 2 (+.f64 a b))
(+.f64 2 (+.f64 b a))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a b)))
(fma.f64 1/2 (*.f64 a a) (+.f64 2 (+.f64 b a)))
(+.f64 (+.f64 b a) (fma.f64 1/2 (*.f64 a a) 2))
(+.f64 (+.f64 b a) (fma.f64 a (*.f64 a 1/2) 2))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a (+.f64 (*.f64 1/6 (pow.f64 a 3)) b))))
(fma.f64 1/2 (*.f64 a a) (+.f64 2 (+.f64 a (fma.f64 1/6 (pow.f64 a 3) b))))
(+.f64 (+.f64 a (fma.f64 1/6 (pow.f64 a 3) b)) (fma.f64 1/2 (*.f64 a a) 2))
(+.f64 (+.f64 b (fma.f64 1/6 (pow.f64 a 3) a)) (fma.f64 a (*.f64 a 1/2) 2))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (exp.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
b
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
b
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 0 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(-.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (log.f64 (-.f64 (expm1.f64 a) b)))
(-.f64 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (log.f64 (-.f64 (expm1.f64 a) b)))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (fma.f64 (+.f64 b 1) (+.f64 b (-.f64 1 (exp.f64 a))) (pow.f64 (exp.f64 a) 2))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (fma.f64 (+.f64 b 1) (-.f64 (+.f64 b 1) (exp.f64 a)) (pow.f64 (exp.f64 a) 2))))
(*.f64 1 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3) 1/3)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 3)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2)
(log1p.f64 (+.f64 b (exp.f64 a)))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))
(log1p.f64 (+.f64 b (exp.f64 a)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3))
(log1p.f64 (+.f64 b (exp.f64 a)))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1))
(log1p.f64 (+.f64 b (exp.f64 a)))
(exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(-.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b))) 1)
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(-.f64 (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 (expm1.f64 a) b)) (/.f64 (pow.f64 (+.f64 1 b) 2) (-.f64 (expm1.f64 a) b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (-.f64 (expm1.f64 a) b))
(*.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(*.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(*.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (+.f64 b (-.f64 1 (exp.f64 a))) (pow.f64 (exp.f64 a) 2)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (-.f64 (+.f64 b 1) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(*.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (/.f64 1 (-.f64 (expm1.f64 a) b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (-.f64 (expm1.f64 a) b))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (+.f64 b (-.f64 1 (exp.f64 a))) (pow.f64 (exp.f64 a) 2)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (-.f64 (+.f64 b 1) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 1 (/.f64 (-.f64 (expm1.f64 a) b) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (-.f64 (expm1.f64 a) b))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a)))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (+.f64 b (-.f64 1 (exp.f64 a))) (pow.f64 (exp.f64 a) 2)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (-.f64 (+.f64 b 1) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (+.f64 1 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a (log1p.f64 b))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (+.f64 (pow.f64 (+.f64 b 1) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a (log1p.f64 b))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (exp.f64 a) (exp.f64 (log1p.f64 b))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (exp.f64 a) (exp.f64 (log1p.f64 b))) (pow.f64 (+.f64 b 1) 2)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (expm1.f64 a) b))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (-.f64 (expm1.f64 a) b))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (-.f64 (+.f64 1 b) (exp.f64 a))))))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (/.f64 1 (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (+.f64 b (-.f64 1 (exp.f64 a))) (pow.f64 (exp.f64 a) 2)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (-.f64 (+.f64 b 1) (exp.f64 a)) (pow.f64 (exp.f64 a) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (neg.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (-.f64 (expm1.f64 a) b))
(/.f64 (+.f64 (pow.f64 (+.f64 (exp.f64 a) 1) 3) (pow.f64 b 3)) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (-.f64 (*.f64 b b) (*.f64 (+.f64 (exp.f64 a) 1) b))))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (+.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b (-.f64 b (+.f64 1 (exp.f64 a))))))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (fma.f64 b (-.f64 b (+.f64 1 (exp.f64 a))) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (fma.f64 b b (*.f64 (+.f64 1 (exp.f64 a)) (+.f64 1 (-.f64 (exp.f64 a) b)))))
(/.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (+.f64 1 b) (exp.f64 a)))
(/.f64 (-.f64 (pow.f64 (+.f64 b 1) 2) (pow.f64 (exp.f64 a) 2)) (+.f64 1 (-.f64 b (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (+.f64 b 1) 2) (pow.f64 (exp.f64 a) 2)) (+.f64 b (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (+.f64 b 1) 2) (pow.f64 (exp.f64 a) 2)) (-.f64 (+.f64 b 1) (exp.f64 a)))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) (-.f64 (+.f64 (exp.f64 a) 1) b))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (+.f64 (exp.f64 a) (-.f64 1 b)))
(/.f64 (-.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (+.f64 1 (-.f64 (exp.f64 a) b)))
(/.f64 (+.f64 b (+.f64 1 (exp.f64 a))) 1)
(pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(pow.f64 (E.f64) (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3) 1/3)
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3)
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 2)) (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 2))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(exp.f64 (log.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(fma.f64 1 (exp.f64 a) (+.f64 1 b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(fma.f64 1 (+.f64 1 b) (exp.f64 a))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 b)) 2) (cbrt.f64 (+.f64 1 b)) (exp.f64 a))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (+.f64 1 b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(fma.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (+.f64 1 b)) (exp.f64 a))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (+.f64 1 b))
(+.f64 1 (+.f64 b (exp.f64 a)))
(+.f64 b (+.f64 1 (exp.f64 a)))

eval129.0ms (0.9%)

Compiler

Compiled 7166 to 4228 computations (41% saved)

prune81.0ms (0.6%)

Pruning

18 alts after pruning (13 fresh and 5 done)

PrunedKeptTotal
New47612488
Fresh112
Picked011
Done145
Total47818496
Error
0.4b
Counts
496 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
29.7b
(+.f64 (*.f64 1/2 b) (log.f64 2))
30.2b
(+.f64 (*.f64 1/2 a) (log.f64 2))
0.6b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
0.6b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
24.8b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
1.2b
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a))))))
29.3b
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
28.5b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1))
3.1b
(log1p.f64 (+.f64 b (exp.f64 a)))
30.0b
(log1p.f64 (exp.f64 b))
28.9b
(log1p.f64 (exp.f64 a))
30.0b
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
28.5b
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
27.9b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
30.1b
(log.f64 (+.f64 2 b))
28.4b
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
63.1b
(log.f64 b)
30.1b
(log.f64 2)
Compiler

Compiled 297 to 229 computations (22.9% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (exp.f64 a))
0.0b
(+.f64 1 (exp.f64 a))
0.0b
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
0.5b
(log1p.f64 (+.f64 1 (exp.f64 a)))
Compiler

Compiled 45 to 25 computations (44.4% saved)

series25.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
12.0ms
a
@inf
(log1p.f64 (+.f64 1 (exp.f64 a)))
12.0ms
a
@-inf
(log1p.f64 (+.f64 1 (exp.f64 a)))
0.0ms
a
@0
(log1p.f64 (+.f64 1 (exp.f64 a)))
0.0ms
a
@0
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
0.0ms
a
@inf
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
556×pow1_binary64
516×add-log-exp_binary64
516×expm1-log1p-u_binary64
515×log1p-expm1-u_binary64
505×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
553×associate-/l*_binary64
388×fma-def_binary64
293×associate-/r*_binary64
292×unswap-sqr_binary64
254×div-sub_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0126728
1315656
21061611
34223611
Stop Event
node limit
Counts
73 → 79
Calls
Call 1
Inputs
(log.f64 3)
(+.f64 (*.f64 1/3 a) (log.f64 3))
(+.f64 (*.f64 1/3 a) (+.f64 (*.f64 1/9 (pow.f64 a 2)) (log.f64 3)))
(+.f64 (*.f64 1/81 (pow.f64 a 3)) (+.f64 (*.f64 1/3 a) (+.f64 (*.f64 1/9 (pow.f64 a 2)) (log.f64 3))))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
2
(+.f64 2 a)
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 a))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a (*.f64 1/6 (pow.f64 a 3)))))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 1 (exp.f64 a))
(-.f64 (+.f64 1 (log1p.f64 (+.f64 1 (exp.f64 a)))) 1)
(*.f64 1 (log1p.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 1)
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) (sqrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 1)
(pow.f64 (pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3)
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 2))
(log.f64 (+.f64 2 (exp.f64 a)))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(-.f64 (+.f64 2 (exp.f64 a)) 1)
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(*.f64 1 (+.f64 1 (exp.f64 a)))
(*.f64 (+.f64 1 (exp.f64 a)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2) (cbrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (pow.f64 (exp.f64 a) 3))))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 3) 1) (+.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) 1) (+.f64 (+.f64 2 (exp.f64 a)) 1))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(exp.f64 (log1p.f64 (exp.f64 a)))
(fma.f64 1 (exp.f64 a) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
Outputs
(log.f64 3)
(+.f64 (*.f64 1/3 a) (log.f64 3))
(fma.f64 1/3 a (log.f64 3))
(+.f64 (*.f64 1/3 a) (+.f64 (*.f64 1/9 (pow.f64 a 2)) (log.f64 3)))
(fma.f64 1/3 a (fma.f64 1/9 (*.f64 a a) (log.f64 3)))
(fma.f64 1/3 a (fma.f64 a (*.f64 a 1/9) (log.f64 3)))
(+.f64 (*.f64 1/81 (pow.f64 a 3)) (+.f64 (*.f64 1/3 a) (+.f64 (*.f64 1/9 (pow.f64 a 2)) (log.f64 3))))
(fma.f64 1/81 (pow.f64 a 3) (fma.f64 1/3 a (fma.f64 1/9 (*.f64 a a) (log.f64 3))))
(fma.f64 1/81 (pow.f64 a 3) (fma.f64 1/3 a (fma.f64 a (*.f64 a 1/9) (log.f64 3))))
(fma.f64 1/3 a (fma.f64 1/81 (pow.f64 a 3) (fma.f64 a (*.f64 a 1/9) (log.f64 3))))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
2
(+.f64 2 a)
(+.f64 a 2)
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 a))
(fma.f64 1/2 (*.f64 a a) (+.f64 a 2))
(+.f64 a (fma.f64 (*.f64 a a) 1/2 2))
(+.f64 a (fma.f64 a (*.f64 a 1/2) 2))
(+.f64 (*.f64 1/2 (pow.f64 a 2)) (+.f64 2 (+.f64 a (*.f64 1/6 (pow.f64 a 3)))))
(fma.f64 1/2 (*.f64 a a) (+.f64 (+.f64 a 2) (*.f64 (pow.f64 a 3) 1/6)))
(+.f64 (fma.f64 (pow.f64 a 3) 1/6 a) (fma.f64 (*.f64 a a) 1/2 2))
(+.f64 2 (fma.f64 a (*.f64 a 1/2) (fma.f64 (pow.f64 a 3) 1/6 a)))
(+.f64 (fma.f64 (pow.f64 a 3) 1/6 a) (fma.f64 a (*.f64 a 1/2) 2))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(-.f64 (+.f64 1 (log1p.f64 (+.f64 1 (exp.f64 a)))) 1)
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(*.f64 1 (log1p.f64 (+.f64 1 (exp.f64 a))))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(*.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 1)
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 2))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) (sqrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 1)
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(pow.f64 (pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 3) 1/3)
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3)
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 2)
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 2))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 1 (exp.f64 a))) 3))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(exp.f64 (log.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 1 (-.f64 (log1p.f64 (+.f64 (exp.f64 a) 1)) 1))
(+.f64 (log1p.f64 (+.f64 2 (expm1.f64 a))) 0)
(log1p.f64 (+.f64 2 (expm1.f64 a)))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(-.f64 (+.f64 2 (exp.f64 a)) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(*.f64 1 (+.f64 1 (exp.f64 a)))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(*.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2) (cbrt.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (pow.f64 (exp.f64 a) 3))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(/.f64 (-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 3) 1) (+.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 3) -1) (fma.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a)) (+.f64 2 (+.f64 (exp.f64 a) 1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 (exp.f64 a)) 3)) (fma.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a)) (+.f64 3 (exp.f64 a))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 (exp.f64 a)) 3)) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 3 (exp.f64 a)))))
(/.f64 (-.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) 1) (+.f64 (+.f64 2 (exp.f64 a)) 1))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(exp.f64 (log1p.f64 (exp.f64 a)))
(fma.f64 1 (exp.f64 a) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))

localize3.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/2 a) (log.f64 2))
Compiler

Compiled 16 to 13 computations (18.8% saved)

series3.0ms (0%)

Counts
1 → 3
Calls

3 calls:

TimeVariablePointExpression
3.0ms
a
@0
(+.f64 (*.f64 1/2 a) (log.f64 2))
0.0ms
a
@inf
(+.f64 (*.f64 1/2 a) (log.f64 2))
0.0ms
a
@-inf
(+.f64 (*.f64 1/2 a) (log.f64 2))

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
728×pow1_binary64
681×add-log-exp_binary64
680×log1p-expm1-u_binary64
680×expm1-log1p-u_binary64
668×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077
11507
218707
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 a) (log.f64 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 1/2 a (log.f64 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 a a) 1/4) (-.f64 (*.f64 1/2 a) (log.f64 2))) (/.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 1/2 a) (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 a (log.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/2 a (log.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) (pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 2) (cbrt.f64 (fma.f64 1/2 a (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) (sqrt.f64 (fma.f64 1/2 a (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (/.f64 1 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2)) (/.f64 1 (-.f64 (*.f64 1/2 a) (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))) (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/2 a) (log.f64 2)) (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 1/2 (*.f64 a (log.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3))) (neg.f64 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2))) (neg.f64 (-.f64 (*.f64 1/2 a) (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 (*.f64 a a) 1/4)) (-.f64 (log.f64 2) (*.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/2 a (log.f64 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 2 (pow.f64 (exp.f64 1/2) a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/2 a (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 a (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a 1/2 (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/2 a) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 2) (*.f64 1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (*.f64 1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 a)) 2) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (*.f64 1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 a)) (sqrt.f64 (*.f64 1/2 a)) (log.f64 2))))))

simplify44.0ms (0.3%)

Algorithm
egg-herbie
Rules
528×fma-neg_binary64
429×associate-/r*_binary64
412×cancel-sign-sub-inv_binary64
394×associate-*l*_binary64
351×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
091674
1233587
2730481
34028481
Stop Event
node limit
Counts
38 → 44
Calls
Call 1
Inputs
(log.f64 2)
(*.f64 1/2 a)
(*.f64 1/2 a)
(-.f64 (+.f64 1 (fma.f64 1/2 a (log.f64 2))) 1)
(-.f64 (/.f64 (*.f64 (*.f64 a a) 1/4) (-.f64 (*.f64 1/2 a) (log.f64 2))) (/.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 1/2 a) (log.f64 2))))
(*.f64 (fma.f64 1/2 a (log.f64 2)) 1)
(*.f64 1 (fma.f64 1/2 a (log.f64 2)))
(*.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) (pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 2) (cbrt.f64 (fma.f64 1/2 a (log.f64 2))))
(*.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) (sqrt.f64 (fma.f64 1/2 a (log.f64 2))))
(*.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (/.f64 1 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(*.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2)) (/.f64 1 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))) (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/2 a) (log.f64 2)) (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))))
(/.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 1/2 (*.f64 a (log.f64 2))))))
(/.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3))) (neg.f64 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2))) (neg.f64 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 (*.f64 a a) 1/4)) (-.f64 (log.f64 2) (*.f64 1/2 a)))
(pow.f64 (fma.f64 1/2 a (log.f64 2)) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 2))
(log.f64 (*.f64 2 (pow.f64 (exp.f64 1/2) a)))
(cbrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 a (log.f64 2))))
(exp.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))))
(fma.f64 1/2 a (log.f64 2))
(fma.f64 a 1/2 (log.f64 2))
(fma.f64 1 (*.f64 1/2 a) (log.f64 2))
(fma.f64 1 (log.f64 2) (*.f64 1/2 a))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (*.f64 1/2 a))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 a)) 2) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))
(fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (*.f64 1/2 a))
(fma.f64 (sqrt.f64 (*.f64 1/2 a)) (sqrt.f64 (*.f64 1/2 a)) (log.f64 2))
Outputs
(log.f64 2)
(*.f64 1/2 a)
(*.f64 1/2 a)
(-.f64 (+.f64 1 (fma.f64 1/2 a (log.f64 2))) 1)
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(-.f64 (/.f64 (*.f64 (*.f64 a a) 1/4) (-.f64 (*.f64 1/2 a) (log.f64 2))) (/.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (-.f64 (*.f64 a (*.f64 a 1/4)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (fma.f64 a (*.f64 a -1/4) (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(*.f64 (fma.f64 1/2 a (log.f64 2)) 1)
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(*.f64 1 (fma.f64 1/2 a (log.f64 2)))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(*.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) (pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 2) (cbrt.f64 (fma.f64 1/2 a (log.f64 2))))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(*.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) (sqrt.f64 (fma.f64 1/2 a (log.f64 2))))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(*.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (/.f64 1 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(/.f64 (*.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) 1) (fma.f64 (*.f64 a a) 1/4 (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 a -1/2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (fma.f64 a -1/2 (log.f64 2)) (*.f64 a (*.f64 a 1/4))))
(*.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2)) (/.f64 1 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (-.f64 (*.f64 a (*.f64 a 1/4)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (fma.f64 a (*.f64 a -1/4) (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 1 (/.f64 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))) (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) 1) (fma.f64 (*.f64 a a) 1/4 (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 a -1/2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (fma.f64 a -1/2 (log.f64 2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/2 a) (log.f64 2)) (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2))))
(/.f64 (-.f64 (*.f64 a (*.f64 a 1/4)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (fma.f64 a (*.f64 a -1/4) (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))))
(/.f64 (*.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) 1) (fma.f64 (*.f64 a a) 1/4 (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 a -1/2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (fma.f64 a -1/2 (log.f64 2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 1/2 (*.f64 a (log.f64 2))))))
(/.f64 (*.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) 1) (fma.f64 (*.f64 a a) 1/4 (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 a -1/2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (fma.f64 a -1/2 (log.f64 2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (-.f64 (*.f64 a (*.f64 a 1/4)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (fma.f64 a (*.f64 a -1/4) (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 (neg.f64 (+.f64 (*.f64 (pow.f64 a 3) 1/8) (pow.f64 (log.f64 2) 3))) (neg.f64 (+.f64 (*.f64 (*.f64 a a) 1/4) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(/.f64 (*.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) 1) (fma.f64 (*.f64 a a) 1/4 (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 a -1/2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (fma.f64 (pow.f64 a 3) 1/8 (pow.f64 (log.f64 2) 3)) (fma.f64 (log.f64 2) (fma.f64 a -1/2 (log.f64 2)) (*.f64 a (*.f64 a 1/4))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 a a) 1/4) (pow.f64 (log.f64 2) 2))) (neg.f64 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (-.f64 (*.f64 a (*.f64 a 1/4)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (fma.f64 a (*.f64 a -1/4) (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 (*.f64 a a) 1/4)) (-.f64 (log.f64 2) (*.f64 1/2 a)))
(/.f64 (-.f64 (*.f64 a (*.f64 a 1/4)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (fma.f64 a (*.f64 a -1/4) (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(pow.f64 (fma.f64 1/2 a (log.f64 2)) 1)
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(pow.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3) 1/3)
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 3)
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(pow.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) 2)
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(sqrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(log.f64 (*.f64 2 (pow.f64 (exp.f64 1/2) a)))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(cbrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(expm1.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2))))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 a (log.f64 2))))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(exp.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 1/2 a (log.f64 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 a 1/2 (log.f64 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 1 (*.f64 1/2 a) (log.f64 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 1 (log.f64 2) (*.f64 1/2 a))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (*.f64 1/2 a))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 a)) 2) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (*.f64 1/2 a))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))
(fma.f64 (sqrt.f64 (*.f64 1/2 a)) (sqrt.f64 (*.f64 1/2 a)) (log.f64 2))
(+.f64 1 (-.f64 (fma.f64 1/2 a (log.f64 2)) 1))
(+.f64 (fma.f64 1/2 a (log.f64 2)) 0)
(fma.f64 1/2 a (log.f64 2))

localize17.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (+.f64 b (exp.f64 a)))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
b
@0
(log1p.f64 (+.f64 b (exp.f64 a)))
0.0ms
b
@-inf
(log1p.f64 (+.f64 b (exp.f64 a)))
0.0ms
a
@0
(log1p.f64 (+.f64 b (exp.f64 a)))
0.0ms
b
@inf
(log1p.f64 (+.f64 b (exp.f64 a)))
0.0ms
a
@-inf
(log1p.f64 (+.f64 b (exp.f64 a)))

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
658×pow1_binary64
610×add-log-exp_binary64
610×expm1-log1p-u_binary64
609×log1p-expm1-u_binary64
595×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
609×distribute-rgt-in_binary64
575×distribute-lft-in_binary64
337×associate-*l*_binary64
330×associate-*r*_binary64
291×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0114686
1305656
21013645
34954643
Stop Event
node limit
Counts
39 → 67
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (exp.f64 a)))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3))))))
(*.f64 -1 (log.f64 (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (/.f64 1 b))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b))))))
(log.f64 (+.f64 2 b))
(+.f64 (/.f64 a (+.f64 2 b)) (log.f64 (+.f64 2 b)))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 2 b) 3))) (/.f64 1 (+.f64 2 b))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(-.f64 (+.f64 1 (log1p.f64 (+.f64 b (exp.f64 a)))) 1)
(*.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 1)
(*.f64 1 (log1p.f64 (+.f64 b (exp.f64 a))))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 2) (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) (sqrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 1)
(pow.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 3) 1/3)
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 3)
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 2))
(log.f64 (+.f64 (+.f64 b (exp.f64 a)) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
Outputs
(log.f64 (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (/.f64 b (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b)) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (*.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (+.f64 (/.f64 (*.f64 b -1/2) (+.f64 1 (exp.f64 a))) 1) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (*.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3))))))
(+.f64 (log1p.f64 (exp.f64 a)) (+.f64 (fma.f64 -1/2 (/.f64 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (/.f64 b (+.f64 1 (exp.f64 a)))) (/.f64 (*.f64 1/3 (pow.f64 b 3)) (pow.f64 (+.f64 1 (exp.f64 a)) 3))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (/.f64 b (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b)) (fma.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 -1/2 (*.f64 (/.f64 b (pow.f64 (+.f64 1 (exp.f64 a)) 2)) b) (fma.f64 1/3 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log1p.f64 (exp.f64 a)) (fma.f64 1/3 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3) (*.f64 (+.f64 (/.f64 (*.f64 b -1/2) (+.f64 1 (exp.f64 a))) 1) (/.f64 b (+.f64 1 (exp.f64 a))))))
(*.f64 -1 (log.f64 (/.f64 1 b)))
(neg.f64 (neg.f64 (log.f64 b)))
(log.f64 b)
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (/.f64 1 b) (log.f64 b)))
(+.f64 (/.f64 1 b) (+.f64 (log.f64 b) (/.f64 (exp.f64 a) b)))
(+.f64 (log.f64 b) (+.f64 (/.f64 1 b) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 (/.f64 -1/2 b) (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b) (+.f64 (/.f64 1 b) (log.f64 b))))
(+.f64 (fma.f64 (/.f64 -1/2 (*.f64 b b)) (pow.f64 (+.f64 1 (exp.f64 a)) 2) (log.f64 b)) (+.f64 (/.f64 1 b) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b)))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b)))))
(+.f64 (log.f64 b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b))) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)))))
(+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)) (+.f64 (/.f64 (exp.f64 a) b) (fma.f64 (/.f64 -1/2 (*.f64 b b)) (pow.f64 (+.f64 1 (exp.f64 a)) 2) (log.f64 b))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 b)))
(log.f64 b)
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 1 b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (/.f64 1 b) (log.f64 b)))
(+.f64 (/.f64 1 b) (+.f64 (log.f64 b) (/.f64 (exp.f64 a) b)))
(+.f64 (log.f64 b) (+.f64 (/.f64 1 b) (/.f64 (exp.f64 a) b)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (/.f64 1 b)))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 (/.f64 -1/2 b) (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) b) (+.f64 (/.f64 1 b) (log.f64 b))))
(+.f64 (fma.f64 (/.f64 -1/2 (*.f64 b b)) (pow.f64 (+.f64 1 (exp.f64 a)) 2) (log.f64 b)) (+.f64 (/.f64 1 b) (/.f64 (exp.f64 a) b)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 -1) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (pow.f64 b 2))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3))) (/.f64 1 b))))))
(+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1 (neg.f64 (log.f64 b)) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b)))))
(+.f64 (log.f64 b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b))) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)))))
(+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)) (+.f64 (/.f64 (exp.f64 a) b) (fma.f64 (/.f64 -1/2 (*.f64 b b)) (pow.f64 (+.f64 1 (exp.f64 a)) 2) (log.f64 b))))
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(+.f64 (/.f64 a (+.f64 2 b)) (log.f64 (+.f64 2 b)))
(+.f64 (log.f64 (+.f64 b 2)) (/.f64 a (+.f64 b 2)))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))))
(+.f64 (+.f64 (log.f64 (+.f64 b 2)) (/.f64 a (+.f64 b 2))) (*.f64 (*.f64 1/2 (*.f64 a a)) (-.f64 (/.f64 1 (+.f64 b 2)) (/.f64 1 (pow.f64 (+.f64 b 2) 2)))))
(+.f64 (/.f64 a (+.f64 b 2)) (fma.f64 1/2 (*.f64 (*.f64 a a) (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 -1 (pow.f64 (+.f64 b 2) 2)))) (log.f64 (+.f64 b 2))))
(fma.f64 (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 -1 (pow.f64 (+.f64 b 2) 2))) (*.f64 1/2 (*.f64 a a)) (+.f64 (log.f64 (+.f64 b 2)) (/.f64 a (+.f64 b 2))))
(fma.f64 (*.f64 a a) (*.f64 1/2 (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 -1 (pow.f64 (+.f64 b 2) 2)))) (+.f64 (log.f64 (+.f64 b 2)) (/.f64 a (+.f64 b 2))))
(+.f64 (/.f64 a (+.f64 2 b)) (+.f64 (log.f64 (+.f64 2 b)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 2 b) 3))) (/.f64 1 (+.f64 2 b))) (*.f64 3 (/.f64 1 (pow.f64 (+.f64 2 b) 2)))))) (*.f64 1/2 (*.f64 (pow.f64 a 2) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))))
(+.f64 (+.f64 (log.f64 (+.f64 b 2)) (/.f64 a (+.f64 b 2))) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 2 (pow.f64 (+.f64 b 2) 3))) (/.f64 3 (pow.f64 (+.f64 b 2) 2)))) (*.f64 (*.f64 1/2 (*.f64 a a)) (-.f64 (/.f64 1 (+.f64 b 2)) (/.f64 1 (pow.f64 (+.f64 b 2) 2))))))
(+.f64 (log.f64 (+.f64 b 2)) (+.f64 (/.f64 a (+.f64 b 2)) (fma.f64 1/2 (*.f64 (*.f64 a a) (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 -1 (pow.f64 (+.f64 b 2) 2)))) (*.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 b 2)) (-.f64 (/.f64 2 (pow.f64 (+.f64 b 2) 3)) (/.f64 3 (pow.f64 (+.f64 b 2) 2)))))))))
(+.f64 (/.f64 a (+.f64 b 2)) (fma.f64 1/2 (*.f64 (*.f64 a a) (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 -1 (pow.f64 (+.f64 b 2) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 b 2)) (+.f64 (/.f64 2 (pow.f64 (+.f64 b 2) 3)) (/.f64 -3 (pow.f64 (+.f64 b 2) 2))))) (log.f64 (+.f64 b 2)))))
(+.f64 (/.f64 a (+.f64 b 2)) (fma.f64 (*.f64 a a) (*.f64 1/2 (+.f64 (/.f64 1 (+.f64 b 2)) (/.f64 -1 (pow.f64 (+.f64 b 2) 2)))) (fma.f64 (pow.f64 a 3) (*.f64 1/6 (+.f64 (/.f64 1 (+.f64 b 2)) (+.f64 (/.f64 2 (pow.f64 (+.f64 b 2) 3)) (/.f64 -3 (pow.f64 (+.f64 b 2) 2))))) (log.f64 (+.f64 b 2)))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(-.f64 (+.f64 1 (log1p.f64 (+.f64 b (exp.f64 a)))) 1)
(log1p.f64 (+.f64 (exp.f64 a) b))
(*.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 1)
(log1p.f64 (+.f64 (exp.f64 a) b))
(*.f64 1 (log1p.f64 (+.f64 b (exp.f64 a))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 2))
(log1p.f64 (+.f64 (exp.f64 a) b))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 2) (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) (sqrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 1)
(log1p.f64 (+.f64 (exp.f64 a) b))
(pow.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 3) 1/3)
(log1p.f64 (+.f64 (exp.f64 a) b))
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 3)
(log1p.f64 (+.f64 (exp.f64 a) b))
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 b (exp.f64 a)))) 2)
(log1p.f64 (+.f64 (exp.f64 a) b))
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 2))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 (+.f64 b (exp.f64 a)) 1))
(log1p.f64 (+.f64 (exp.f64 a) b))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 3))
(log1p.f64 (+.f64 (exp.f64 a) b))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(exp.f64 (log.f64 (log1p.f64 (+.f64 b (exp.f64 a)))))
(log1p.f64 (+.f64 (exp.f64 a) b))

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.0b
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
0.0b
(+.f64 1 (exp.f64 a))
Compiler

Compiled 29 to 18 computations (37.9% saved)

series10.0ms (0.1%)

Counts
1 → 7
Calls

6 calls:

TimeVariablePointExpression
8.0ms
a
@inf
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
2.0ms
b
@0
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
0.0ms
a
@0
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
0.0ms
b
@-inf
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
0.0ms
a
@-inf
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
804×prod-diff_binary64
469×log-prod_binary64
315×fma-def_binary64
292×pow-prod-down_binary64
267×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
121114
2288314
Stop Event
node limit
Counts
1 → 58
Calls
Call 1
Inputs
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (log.f64 2) 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (/.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2) (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (/.f64 1 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)) (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (+.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))) (neg.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))) (neg.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (pow.f64 (log.f64 2) 2)) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)) (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (fma.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 2 (+.f64 1 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (fma.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 2) 1 (/.f64 b (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (/.f64 1 (+.f64 1 (exp.f64 a))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1 (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 2)) (pow.f64 (cbrt.f64 (log.f64 2)) 2) (/.f64 b (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (/.f64 b (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (/.f64 b (+.f64 1 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) (/.f64 1 (+.f64 (neg.f64 (exp.f64 a)) -1)) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) b (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (+.f64 1 (exp.f64 a))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (+.f64 1 (exp.f64 a))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) -2) (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 b) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 (sqrt.f64 b) (cbrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 (exp.f64 a)) -1/2) (/.f64 b (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 (cbrt.f64 b) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 b (+.f64 1 (pow.f64 (exp.f64 a) 3))) (fma.f64 (exp.f64 a) (expm1.f64 a) 1) (log.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)) (log.f64 2))))))

simplify58.0ms (0.4%)

Algorithm
egg-herbie
Rules
470×fma-def_binary64
441×fma-neg_binary64
398×div-sub_binary64
228×distribute-rgt-in_binary64
211×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01881422
14851383
214311364
357141228
Stop Event
node limit
Counts
65 → 83
Calls
Call 1
Inputs
(log.f64 2)
(/.f64 b (+.f64 1 (exp.f64 a)))
(/.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (log.f64 2) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (*.f64 1/2 b) (+.f64 (log.f64 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/24 b) (+.f64 (*.f64 -1/16 b) (*.f64 -1/2 (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b))))))) (+.f64 (log.f64 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))) 1)
(-.f64 (/.f64 (pow.f64 (log.f64 2) 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (/.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(*.f64 1 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(*.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2) (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(*.f64 (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(*.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (/.f64 1 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(/.f64 1 (/.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)) (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))))
(/.f64 1 (/.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (+.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))) (neg.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))) (neg.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(/.f64 (-.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (pow.f64 (log.f64 2) 2)) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)))
(pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(pow.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 3)
(pow.f64 (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2)
(pow.f64 (/.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)) (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))) -1)
(pow.f64 (/.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))) -1)
(sqrt.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 2))
(log.f64 (*.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
(log.f64 (+.f64 1 (fma.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) -1)))
(log.f64 (*.f64 2 (+.f64 1 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) 2))
(cbrt.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
(expm1.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(log1p.f64 (fma.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) -1))
(exp.f64 (log.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(exp.f64 (*.f64 (log.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 1))
(fma.f64 (log.f64 2) 1 (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 b (/.f64 1 (+.f64 1 (exp.f64 a))) (log.f64 2))
(fma.f64 1 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 1 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2))
(fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1 (log.f64 2))
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log.f64 2))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (cbrt.f64 (log.f64 2)) (pow.f64 (cbrt.f64 (log.f64 2)) 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (neg.f64 b) (/.f64 1 (+.f64 (neg.f64 (exp.f64 a)) -1)) (log.f64 2))
(fma.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) b (log.f64 2))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (+.f64 1 (exp.f64 a))) (log.f64 2))
(fma.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (+.f64 1 (exp.f64 a))) (log.f64 2))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) -2) (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (/.f64 (sqrt.f64 b) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 (sqrt.f64 b) (cbrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (pow.f64 (+.f64 1 (exp.f64 a)) -1/2) (/.f64 b (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 (cbrt.f64 b) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (/.f64 b (+.f64 1 (pow.f64 (exp.f64 a) 3))) (fma.f64 (exp.f64 a) (expm1.f64 a) 1) (log.f64 2))
(fma.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)) (log.f64 2))
Outputs
(log.f64 2)
(/.f64 b (+.f64 1 (exp.f64 a)))
(/.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(fma.f64 1/2 b (log.f64 2))
(fma.f64 b 1/2 (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (log.f64 2) (*.f64 -1/4 (*.f64 a b))))
(+.f64 (fma.f64 1/2 b (log.f64 2)) (*.f64 -1/4 (*.f64 b a)))
(fma.f64 b 1/2 (fma.f64 -1/4 (*.f64 b a) (log.f64 2)))
(fma.f64 b 1/2 (fma.f64 b (*.f64 a -1/4) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (log.f64 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b)))))
(+.f64 (fma.f64 1/2 b (log.f64 2)) (*.f64 -1/4 (*.f64 b a)))
(fma.f64 b 1/2 (fma.f64 -1/4 (*.f64 b a) (log.f64 2)))
(fma.f64 b 1/2 (fma.f64 b (*.f64 a -1/4) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 1/24 b) (+.f64 (*.f64 -1/16 b) (*.f64 -1/2 (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b))))))) (+.f64 (log.f64 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/8 b) (*.f64 -1/8 b)))) (*.f64 -1/4 (*.f64 a b))))))
(fma.f64 1/2 b (fma.f64 -1 (*.f64 (pow.f64 a 3) (fma.f64 1/24 b (fma.f64 -1/16 b (*.f64 (*.f64 b 0) -1/2)))) (+.f64 (log.f64 2) (fma.f64 -1 (*.f64 (*.f64 a a) (*.f64 b 0)) (*.f64 -1/4 (*.f64 b a))))))
(fma.f64 b 1/2 (-.f64 (+.f64 (log.f64 2) (fma.f64 -1/4 (*.f64 b a) (*.f64 (*.f64 0 a) a))) (*.f64 (pow.f64 a 3) (+.f64 0 (*.f64 b -1/48)))))
(+.f64 (-.f64 (log.f64 2) (*.f64 (pow.f64 a 3) (*.f64 b -1/48))) (*.f64 b (+.f64 (*.f64 a -1/4) 1/2)))
(-.f64 (fma.f64 b 1/2 (fma.f64 b (*.f64 a -1/4) (log.f64 2))) (*.f64 (pow.f64 a 3) (*.f64 b -1/48)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))) 1)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(-.f64 (/.f64 (pow.f64 (log.f64 2) 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (/.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(*.f64 1 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(*.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(*.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2) (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(*.f64 (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (log.f64 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)))
(*.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (/.f64 1 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(/.f64 1 (/.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)) (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))))
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (log.f64 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)))
(/.f64 1 (/.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (log.f64 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (+.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))))
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (log.f64 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))) (neg.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (log.f64 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))) (neg.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(/.f64 (-.f64 (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2) (pow.f64 (log.f64 2) 2)) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(pow.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 2) 1/2)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(pow.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 3) 1/3)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(pow.f64 (cbrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 3)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(pow.f64 (sqrt.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 2)
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(pow.f64 (/.f64 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)) (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3))) -1)
(*.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (/.f64 1 (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2))))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2)) (pow.f64 (log.f64 2) 2)))
(/.f64 (+.f64 (pow.f64 (log.f64 2) 3) (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) -3)) (fma.f64 (log.f64 2) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)))
(pow.f64 (/.f64 (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2))) -1)
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 2)) (-.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))))
(/.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 1)
(sqrt.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log.f64 (*.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log.f64 (+.f64 1 (fma.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) -1)))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log.f64 (*.f64 2 (+.f64 1 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(cbrt.f64 (pow.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(expm1.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log1p.f64 (fma.f64 2 (exp.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) -1))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(exp.f64 (log.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(exp.f64 (*.f64 (log.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))) 1))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (log.f64 2) 1 (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 b (/.f64 1 (+.f64 1 (exp.f64 a))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 1 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 1 (/.f64 b (+.f64 1 (exp.f64 a))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 1 (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (cbrt.f64 (log.f64 2)) (pow.f64 (cbrt.f64 (log.f64 2)) 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (sqrt.f64 (log.f64 2)) (sqrt.f64 (log.f64 2)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (neg.f64 b) (/.f64 1 (+.f64 (neg.f64 (exp.f64 a)) -1)) (log.f64 2))
(fma.f64 (neg.f64 b) (/.f64 1 (+.f64 -1 (neg.f64 (exp.f64 a)))) (log.f64 2))
(fma.f64 (neg.f64 b) (/.f64 1 (-.f64 -1 (exp.f64 a))) (log.f64 2))
(-.f64 (log.f64 2) (/.f64 b (-.f64 -1 (exp.f64 a))))
(fma.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) b (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (+.f64 1 (exp.f64 a))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (+.f64 1 (exp.f64 a))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) -2) (/.f64 b (cbrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (/.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (log.f64 2))
(fma.f64 (/.f64 (sqrt.f64 b) (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (/.f64 (sqrt.f64 b) (cbrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 (/.f64 b (cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))) (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(fma.f64 (pow.f64 (+.f64 1 (exp.f64 a)) -1/2) (/.f64 b (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(fma.f64 (pow.f64 (+.f64 1 (exp.f64 a)) -1/2) (/.f64 b (hypot.f64 1 (sqrt.f64 (exp.f64 a)))) (log.f64 2))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (/.f64 (cbrt.f64 b) (sqrt.f64 (+.f64 1 (exp.f64 a)))) (log.f64 2))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(fma.f64 (/.f64 b (+.f64 1 (pow.f64 (exp.f64 a) 3))) (fma.f64 (exp.f64 a) (expm1.f64 a) 1) (log.f64 2))
(fma.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)) (log.f64 2))
(fma.f64 (/.f64 b (neg.f64 (expm1.f64 (+.f64 a a)))) (neg.f64 (expm1.f64 a)) (log.f64 2))

eval145.0ms (1%)

Compiler

Compiled 7887 to 5139 computations (34.8% saved)

prune80.0ms (0.6%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New4596465
Fresh538
Picked101
Done549
Total47013483
Error
0.4b
Counts
483 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
32.6b
(/.f64 b (+.f64 1 (exp.f64 a)))
29.7b
(+.f64 (*.f64 1/2 b) (log.f64 2))
30.2b
(+.f64 (*.f64 1/2 a) (log.f64 2))
1.9b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3))))
24.8b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 2))))
62.3b
(*.f64 1/2 a)
30.0b
(log1p.f64 (exp.f64 b))
28.9b
(log1p.f64 (exp.f64 a))
30.0b
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
30.1b
(log.f64 (+.f64 b 2))
63.1b
(log.f64 b)
30.1b
(log.f64 2)
29.8b
(expm1.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
Compiler

Compiled 190 to 153 computations (19.5% saved)

localize36.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3))
0.5b
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3)
0.5b
(log1p.f64 (+.f64 1 (exp.f64 a)))
0.7b
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
Compiler

Compiled 69 to 45 computations (34.8% saved)

series12.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
a
@0
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3)
2.0ms
a
@0
(expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3))
2.0ms
a
@inf
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
1.0ms
a
@-inf
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
1.0ms
a
@0
(cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
718×pow1_binary64
675×add-log-exp_binary64
674×expm1-log1p-u_binary64
673×log1p-expm1-u_binary64
659×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify68.0ms (0.5%)

Algorithm
egg-herbie
Rules
805×distribute-rgt-in_binary64
786×distribute-lft-in_binary64
756×associate-+l+_binary64
184×associate-*r*_binary64
179×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02703197
17782947
228352896
Stop Event
node limit
Counts
108 → 122
Calls
Call 1
Inputs
(pow.f64 (log.f64 3) 1/3)
(+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9) a)) (pow.f64 (log.f64 3) 1/3))
(+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9) a)) (+.f64 (pow.f64 (log.f64 3) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3) (*.f64 (pow.f64 a 2) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))))
(+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9) a)) (+.f64 (pow.f64 (log.f64 3) 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3) (*.f64 (pow.f64 a 3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3))))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3) (*.f64 (pow.f64 a 2) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(*.f64 (pow.f64 1 1/3) (log.f64 3))
(+.f64 (*.f64 a (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)))) (*.f64 (pow.f64 1 1/3) (log.f64 3)))
(+.f64 (*.f64 a (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 (pow.f64 1 1/3) (log.f64 3))))
(+.f64 (*.f64 a (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 (pow.f64 1 1/3) (log.f64 3)) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 (pow.f64 (*.f64 1 (log.f64 3)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (+.f64 (*.f64 1/9 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))))))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(-.f64 (pow.f64 3 (pow.f64 1 1/3)) 1)
(-.f64 (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (pow.f64 3 (pow.f64 1 1/3)))) (pow.f64 3 (pow.f64 1 1/3))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) 2))))) (pow.f64 3 (pow.f64 1 1/3)))) (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (pow.f64 3 (pow.f64 1 1/3)))) (pow.f64 3 (pow.f64 1 1/3)))) 1)
(-.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) 2))))) (pow.f64 3 (pow.f64 1 1/3)))) (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (pow.f64 3 (pow.f64 1 1/3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) 3)) (+.f64 (*.f64 (pow.f64 (*.f64 1 (log.f64 3)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (+.f64 (*.f64 1/9 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))))))) (*.f64 (pow.f64 a 3) (pow.f64 3 (pow.f64 1 1/3)))) (pow.f64 3 (pow.f64 1 1/3))))) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(-.f64 (+.f64 1 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 1)
(*.f64 1 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(*.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (pow.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2) (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(*.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1/3) (pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1/3))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2))
(log.f64 (exp.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(log1p.f64 (expm1.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(exp.f64 (log.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(-.f64 (+.f64 1 (log.f64 (+.f64 2 (exp.f64 a)))) 1)
(*.f64 1 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1)
(*.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(*.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) (*.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2) 3) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(*.f64 (pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) 3) (pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) 3))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) 1) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6)) (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 2))
(log.f64 (+.f64 2 (exp.f64 a)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log1p.f64 (+.f64 1 (exp.f64 a)))
(exp.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(+.f64 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(-.f64 (+.f64 2 (exp.f64 a)) 1)
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(*.f64 1 (+.f64 1 (exp.f64 a)))
(*.f64 (+.f64 1 (exp.f64 a)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2) (cbrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (pow.f64 (exp.f64 a) 3))))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 3) 1) (+.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) 1) (+.f64 (+.f64 2 (exp.f64 a)) 1))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(exp.f64 (log1p.f64 (exp.f64 a)))
(fma.f64 1 (exp.f64 a) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
Outputs
(pow.f64 (log.f64 3) 1/3)
(cbrt.f64 (log.f64 3))
(+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9) a)) (pow.f64 (log.f64 3) 1/3))
(fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) a) (cbrt.f64 (log.f64 3)))
(fma.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) a)) (cbrt.f64 (log.f64 3)))
(+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9) a)) (+.f64 (pow.f64 (log.f64 3) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3) (*.f64 (pow.f64 a 2) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))))
(+.f64 (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) a) (cbrt.f64 (log.f64 3))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (*.f64 (*.f64 a a) (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18))))))))
(fma.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) a)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (*.f64 (*.f64 a a) (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)))) (cbrt.f64 (log.f64 3))))
(fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) a) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (*.f64 a (*.f64 a (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27))))) (cbrt.f64 (log.f64 3))))
(+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9) a)) (+.f64 (pow.f64 (log.f64 3) 1/3) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3) (*.f64 (pow.f64 a 3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3))))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3) (*.f64 (pow.f64 a 2) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))))))
(+.f64 (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) a) (cbrt.f64 (log.f64 3))) (*.f64 1/3 (+.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (*.f64 (pow.f64 a 3) (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (*.f64 (*.f64 a a) (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))))))))
(fma.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) a)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (+.f64 (*.f64 (pow.f64 a 3) (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729)))) (*.f64 (*.f64 a a) (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27))))) (cbrt.f64 (log.f64 3))))
(fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) a) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) (*.f64 (*.f64 a a) (+.f64 (*.f64 (-.f64 1/81 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)))))) a) (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27))))) (cbrt.f64 (log.f64 3))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (log.f64 3))
(log.f64 3)
(+.f64 (*.f64 a (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)))) (*.f64 (pow.f64 1 1/3) (log.f64 3)))
(fma.f64 a (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) (log.f64 3))
(fma.f64 a (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (log.f64 3))
(+.f64 (*.f64 a (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 (pow.f64 1 1/3) (log.f64 3))))
(fma.f64 a (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) (fma.f64 (*.f64 a a) (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (+.f64 (*.f64 1/3 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (log.f64 3)))
(fma.f64 a (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (fma.f64 (*.f64 a a) (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (log.f64 3)))
(fma.f64 a (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (fma.f64 (*.f64 a a) (fma.f64 (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (log.f64 3)))
(+.f64 (*.f64 a (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 (pow.f64 1 1/3) (log.f64 3)) (*.f64 (pow.f64 a 3) (+.f64 (*.f64 (pow.f64 (*.f64 1 (log.f64 3)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (+.f64 (*.f64 1/9 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))))))))
(fma.f64 a (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) (+.f64 (fma.f64 (*.f64 a a) (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (+.f64 (*.f64 1/3 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (log.f64 3)) (*.f64 (pow.f64 a 3) (fma.f64 (cbrt.f64 (log.f64 3)) (fma.f64 2/3 (*.f64 (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 2/27 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18))))) (+.f64 (*.f64 1/3 (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729)))) (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3))))))) (*.f64 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) 2/27)))))))
(fma.f64 a (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (fma.f64 (*.f64 a a) (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (fma.f64 (pow.f64 a 3) (fma.f64 (cbrt.f64 (log.f64 3)) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))) (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18))))) (fma.f64 1/3 (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))) (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3))))))) (*.f64 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) 2/27)))) (log.f64 3))))
(fma.f64 a (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (fma.f64 (*.f64 a a) (fma.f64 (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (fma.f64 (pow.f64 a 3) (fma.f64 (cbrt.f64 (log.f64 3)) (fma.f64 2/27 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18))) (*.f64 (-.f64 1/81 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (fma.f64 1/3 (-.f64 1/81 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)))))) (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81)))) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)) 2/27))))) (log.f64 3))))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 1 1/3) (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(-.f64 (pow.f64 3 (pow.f64 1 1/3)) 1)
2
(-.f64 (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (pow.f64 3 (pow.f64 1 1/3)))) (pow.f64 3 (pow.f64 1 1/3))) 1)
(+.f64 (*.f64 a (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) 3)) 2)
(fma.f64 a (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1) 2)
(fma.f64 a (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 2)
(-.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) 2))))) (pow.f64 3 (pow.f64 1 1/3)))) (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (pow.f64 3 (pow.f64 1 1/3)))) (pow.f64 3 (pow.f64 1 1/3)))) 1)
(+.f64 (fma.f64 (*.f64 a a) (*.f64 3 (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (+.f64 (*.f64 1/3 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18))))) (fma.f64 2/81 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) (*.f64 1/2 (pow.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) 2)))))) (fma.f64 a (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) 3) 3)) -1)
(fma.f64 (*.f64 a a) (*.f64 3 (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81 (*.f64 1/2 (pow.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) 2)))))) (fma.f64 a (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1) 2))
(fma.f64 (*.f64 (*.f64 a a) (fma.f64 (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (fma.f64 1/2 (pow.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))))) 3 (fma.f64 a (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 2))
(-.f64 (+.f64 (*.f64 (pow.f64 a 2) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)) (*.f64 1/2 (pow.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) 2))))) (pow.f64 3 (pow.f64 1 1/3)))) (+.f64 (*.f64 a (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (pow.f64 3 (pow.f64 1 1/3)))) (+.f64 (*.f64 (+.f64 (*.f64 1/6 (pow.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) 3)) (+.f64 (*.f64 (pow.f64 (*.f64 1 (log.f64 3)) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))))) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 1/9 (pow.f64 (*.f64 1 (pow.f64 (log.f64 3) 4)) 1/9))) (+.f64 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (*.f64 1 (log.f64 3)) 1/3)) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 2/81 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 1/81 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9))))) (*.f64 1/729 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/3)))))) (+.f64 (*.f64 1/9 (*.f64 (+.f64 (*.f64 1/81 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/9)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/3) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/9))) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/9) (-.f64 1/9 (*.f64 1/27 (pow.f64 (/.f64 1 (log.f64 3)) 1/9)))))))))) (*.f64 (pow.f64 a 3) (pow.f64 3 (pow.f64 1 1/3)))) (pow.f64 3 (pow.f64 1 1/3))))) 1)
(+.f64 (fma.f64 (*.f64 a a) (*.f64 3 (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (+.f64 (*.f64 1/3 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18))))) (fma.f64 2/81 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) (*.f64 1/2 (pow.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) 2)))))) (fma.f64 a (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) 3) (fma.f64 (fma.f64 1/6 (pow.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) 3) (fma.f64 (cbrt.f64 (log.f64 3)) (fma.f64 2/3 (*.f64 (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 2/27 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18))))) (fma.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1/3) (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (+.f64 (*.f64 1/3 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (+.f64 (*.f64 1/3 (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729)))) (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (cbrt.f64 (/.f64 1 (log.f64 3))))))) (*.f64 (*.f64 (+.f64 1/9 (*.f64 -1/27 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) 2/27)))))) (*.f64 (pow.f64 a 3) 3) 3))) -1)
(fma.f64 (*.f64 a a) (*.f64 3 (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81 (*.f64 1/2 (pow.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) 2)))))) (+.f64 (fma.f64 a (*.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 1) (*.f64 (pow.f64 a 3) (*.f64 3 (fma.f64 1/6 (*.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 3) 1/27) (fma.f64 (cbrt.f64 (log.f64 3)) (fma.f64 (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))) (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18))))) (fma.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (fma.f64 (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (fma.f64 1/3 (-.f64 1/81 (fma.f64 2/9 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729))) (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) (fma.f64 1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18)) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3))))))) (*.f64 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18))) 2/27))))))))) 2))
(+.f64 (*.f64 (pow.f64 a 3) (*.f64 3 (fma.f64 1/6 (*.f64 1/27 (pow.f64 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 3)) (fma.f64 (cbrt.f64 (log.f64 3)) (fma.f64 2/27 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 8)) 1/18))) (*.f64 (-.f64 1/81 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)))))) (*.f64 2/3 (cbrt.f64 (/.f64 1 (log.f64 3)))))) (fma.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) (fma.f64 (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))) (fma.f64 1/3 (-.f64 1/81 (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 (log.f64 3) 2))) 1/729 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)))))) (fma.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 2)) 1/18)) (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81)))) (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 5)) 1/18)) 2/27))))))))) (fma.f64 (*.f64 (*.f64 a a) (fma.f64 (fma.f64 2/3 (*.f64 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (cbrt.f64 (/.f64 1 (log.f64 3)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (log.f64 3) 4)) 1/18) 1/81))) (cbrt.f64 (log.f64 3)) (fma.f64 1/3 (+.f64 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) -1/27)) (fma.f64 1/2 (pow.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18))) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 (log.f64 3)) 1/18) (pow.f64 (/.f64 1 (log.f64 3)) 1/18)) 2/81))))) 3 (fma.f64 a (*.f64 (pow.f64 (pow.f64 (log.f64 3) 4) 1/18) (pow.f64 (pow.f64 (log.f64 3) 4) 1/18)) 2)))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) (pow.f64 1 1/3)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (+.f64 1 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 1)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 1 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (pow.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) 1/3))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2) (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(*.f64 (pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1/3) (pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (cbrt.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 3)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) 2)
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (exp.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(expm1.f64 (log1p.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(log1p.f64 (expm1.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(exp.f64 (log.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))
(-.f64 (+.f64 1 (log.f64 (+.f64 2 (exp.f64 a)))) 1)
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 1 (log.f64 (+.f64 2 (exp.f64 a))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1)
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) (*.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2) 3) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) 3) (pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6) 3))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) 1) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))))
(log.f64 (+.f64 2 (exp.f64 a)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6)) (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1/6))
(log.f64 (+.f64 2 (exp.f64 a)))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 2))
(log.f64 (+.f64 2 (exp.f64 a)))
(log.f64 (+.f64 2 (exp.f64 a)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 3))
(log.f64 (+.f64 2 (exp.f64 a)))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(log1p.f64 (+.f64 1 (exp.f64 a)))
(exp.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(+.f64 1 (exp.f64 a))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 (exp.f64 a) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(+.f64 (+.f64 2 (exp.f64 a)) -1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (+.f64 2 (exp.f64 a)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(-.f64 (/.f64 1 (-.f64 1 (exp.f64 a))) (/.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(*.f64 1 (+.f64 1 (exp.f64 a)))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(*.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(*.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2) (cbrt.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(*.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) (sqrt.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(*.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (pow.f64 (exp.f64 a) 3))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (fma.f64 (exp.f64 a) (expm1.f64 a) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(/.f64 (-.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 3) 1) (+.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 3) -1) (fma.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a)) (+.f64 1 (+.f64 2 (exp.f64 a)))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 (exp.f64 a)) 3)) (fma.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a)) (+.f64 (exp.f64 a) 3)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 2 (exp.f64 a)) 3)) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 (exp.f64 a) 3))))
(/.f64 (-.f64 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 2 (exp.f64 a))) 1) (+.f64 (+.f64 2 (exp.f64 a)) 1))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (-.f64 1 (exp.f64 a)))
(/.f64 (expm1.f64 (+.f64 a a)) (expm1.f64 a))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(pow.f64 (sqrt.f64 (+.f64 1 (exp.f64 a))) 2)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(sqrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(log.f64 (exp.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(cbrt.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(exp.f64 (log1p.f64 (exp.f64 a)))
(fma.f64 1 (exp.f64 a) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
(+.f64 (pow.f64 (+.f64 2 (exp.f64 a)) 1) -1)
(+.f64 1 (exp.f64 a))

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (+.f64 b 2))
Compiler

Compiled 11 to 8 computations (27.3% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
b
@inf
(log.f64 (+.f64 b 2))
0.0ms
b
@0
(log.f64 (+.f64 b 2))
0.0ms
b
@-inf
(log.f64 (+.f64 b 2))

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
539×pow1_binary64
530×add-sqr-sqrt_binary64
505×add-log-exp_binary64
504×log1p-expm1-u_binary64
504×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11086
213266
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(log.f64 (+.f64 b 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 b 2)) 2)) (log.f64 (cbrt.f64 (+.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (+.f64 b 2))) (log.f64 (sqrt.f64 (+.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (+.f64 b 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (fma.f64 b b -4)) (log.f64 (+.f64 b -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 8 (pow.f64 b 3))) (log.f64 (fma.f64 b b (-.f64 4 (*.f64 b 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 b 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 b 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 2) (cbrt.f64 (log.f64 (+.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (+.f64 b 2))) (sqrt.f64 (log.f64 (+.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 b 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (+.f64 b 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (+.f64 b 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (+.f64 b 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (+.f64 b 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (+.f64 b 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (-.f64 (+.f64 b 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (+.f64 b 2))))))))

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
758×fma-neg_binary64
581×distribute-rgt-in_binary64
528×distribute-lft-in_binary64
333×fma-def_binary64
263×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0102356
1244316
2705314
33174314
47894314
Stop Event
node limit
Counts
32 → 59
Calls
Call 1
Inputs
(log.f64 2)
(+.f64 (*.f64 1/2 b) (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (log.f64 2) (*.f64 -1/8 (pow.f64 b 2))))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/24 (pow.f64 b 3)) (+.f64 (log.f64 2) (*.f64 -1/8 (pow.f64 b 2)))))
(*.f64 -1 (log.f64 (/.f64 1 b)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (*.f64 2 (/.f64 1 b)))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 b)) (*.f64 -1 (log.f64 (/.f64 1 b)))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (*.f64 8/3 (/.f64 1 (pow.f64 b 3))))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (log.f64 -1) (*.f64 2 (/.f64 1 b))))
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (*.f64 2 (/.f64 1 b)) (log.f64 -1))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 -1) (*.f64 8/3 (/.f64 1 (pow.f64 b 3)))))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(+.f64 0 (log.f64 (+.f64 b 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 b 2)) 2)) (log.f64 (cbrt.f64 (+.f64 b 2))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 b 2))) (log.f64 (sqrt.f64 (+.f64 b 2))))
(-.f64 (+.f64 1 (log.f64 (+.f64 b 2))) 1)
(-.f64 (log.f64 (fma.f64 b b -4)) (log.f64 (+.f64 b -2)))
(-.f64 (log.f64 (+.f64 8 (pow.f64 b 3))) (log.f64 (fma.f64 b b (-.f64 4 (*.f64 b 2)))))
(*.f64 (log.f64 (+.f64 b 2)) 1)
(*.f64 1 (log.f64 (+.f64 b 2)))
(*.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 2) (cbrt.f64 (log.f64 (+.f64 b 2))))
(*.f64 (sqrt.f64 (log.f64 (+.f64 b 2))) (sqrt.f64 (log.f64 (+.f64 b 2))))
(pow.f64 (log.f64 (+.f64 b 2)) 1)
(pow.f64 (pow.f64 (log.f64 (+.f64 b 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 3)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 b 2))) 2)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 b 2)) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 b 2)) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 b 2))))
(log1p.f64 (-.f64 (+.f64 b 2) 1))
(exp.f64 (log.f64 (log.f64 (+.f64 b 2))))
Outputs
(log.f64 2)
(+.f64 (*.f64 1/2 b) (log.f64 2))
(fma.f64 1/2 b (log.f64 2))
(+.f64 (*.f64 1/2 b) (+.f64 (log.f64 2) (*.f64 -1/8 (pow.f64 b 2))))
(+.f64 (fma.f64 1/2 b (log.f64 2)) (*.f64 -1/8 (*.f64 b b)))
(fma.f64 1/2 b (fma.f64 -1/8 (*.f64 b b) (log.f64 2)))
(fma.f64 1/2 b (fma.f64 b (*.f64 b -1/8) (log.f64 2)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/24 (pow.f64 b 3)) (+.f64 (log.f64 2) (*.f64 -1/8 (pow.f64 b 2)))))
(fma.f64 1/2 b (fma.f64 1/24 (pow.f64 b 3) (+.f64 (log.f64 2) (*.f64 -1/8 (*.f64 b b)))))
(fma.f64 1/2 b (fma.f64 1/24 (pow.f64 b 3) (fma.f64 -1/8 (*.f64 b b) (log.f64 2))))
(fma.f64 1/2 b (fma.f64 b (*.f64 b -1/8) (fma.f64 1/24 (pow.f64 b 3) (log.f64 2))))
(*.f64 -1 (log.f64 (/.f64 1 b)))
(neg.f64 (neg.f64 (log.f64 b)))
(log.f64 b)
(+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (*.f64 2 (/.f64 1 b)))
(fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 2 b))
(+.f64 (log.f64 b) (/.f64 2 b))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 b)) (*.f64 -1 (log.f64 (/.f64 1 b)))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(-.f64 (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 2 b)) (/.f64 2 (*.f64 b b)))
(+.f64 (log.f64 b) (-.f64 (/.f64 2 b) (/.f64 2 (*.f64 b b))))
(+.f64 (log.f64 b) (-.f64 (/.f64 2 b) (/.f64 (/.f64 2 b) b)))
(+.f64 (log.f64 b) (+.f64 (/.f64 2 b) (/.f64 -2 (*.f64 b b))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 b))) (*.f64 8/3 (/.f64 1 (pow.f64 b 3))))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(-.f64 (+.f64 (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 2 b)) (/.f64 8/3 (pow.f64 b 3))) (/.f64 2 (*.f64 b b)))
(+.f64 (/.f64 2 b) (+.f64 (log.f64 b) (-.f64 (/.f64 8/3 (pow.f64 b 3)) (/.f64 2 (*.f64 b b)))))
(+.f64 (log.f64 b) (+.f64 (/.f64 8/3 (pow.f64 b 3)) (-.f64 (/.f64 2 b) (/.f64 (/.f64 2 b) b))))
(+.f64 (log.f64 b) (+.f64 (/.f64 2 b) (+.f64 (/.f64 8/3 (pow.f64 b 3)) (/.f64 -2 (*.f64 b b)))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 b)))
(log.f64 b)
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (log.f64 -1) (*.f64 2 (/.f64 1 b))))
(fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 2 b))
(+.f64 (log.f64 b) (/.f64 2 b))
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (*.f64 2 (/.f64 1 b)) (log.f64 -1))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(-.f64 (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 2 b)) (/.f64 2 (*.f64 b b)))
(+.f64 (log.f64 b) (-.f64 (/.f64 2 b) (/.f64 2 (*.f64 b b))))
(+.f64 (log.f64 b) (-.f64 (/.f64 2 b) (/.f64 (/.f64 2 b) b)))
(+.f64 (log.f64 b) (+.f64 (/.f64 2 b) (/.f64 -2 (*.f64 b b))))
(-.f64 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 -1) (*.f64 8/3 (/.f64 1 (pow.f64 b 3)))))) (*.f64 2 (/.f64 1 (pow.f64 b 2))))
(-.f64 (+.f64 (fma.f64 -1 (neg.f64 (log.f64 b)) (/.f64 2 b)) (/.f64 8/3 (pow.f64 b 3))) (/.f64 2 (*.f64 b b)))
(+.f64 (/.f64 2 b) (+.f64 (log.f64 b) (-.f64 (/.f64 8/3 (pow.f64 b 3)) (/.f64 2 (*.f64 b b)))))
(+.f64 (log.f64 b) (+.f64 (/.f64 8/3 (pow.f64 b 3)) (-.f64 (/.f64 2 b) (/.f64 (/.f64 2 b) b))))
(+.f64 (log.f64 b) (+.f64 (/.f64 2 b) (+.f64 (/.f64 8/3 (pow.f64 b 3)) (/.f64 -2 (*.f64 b b)))))
(+.f64 0 (log.f64 (+.f64 b 2)))
(log.f64 (+.f64 2 b))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 b 2)) 2)) (log.f64 (cbrt.f64 (+.f64 b 2))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (+.f64 2 b)))) (log.f64 (cbrt.f64 (+.f64 2 b))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 2 b))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 b 2))) (log.f64 (sqrt.f64 (+.f64 b 2))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 2 b))))
(-.f64 (+.f64 1 (log.f64 (+.f64 b 2))) 1)
(log.f64 (+.f64 2 b))
(-.f64 (log.f64 (fma.f64 b b -4)) (log.f64 (+.f64 b -2)))
(-.f64 (log.f64 (+.f64 8 (pow.f64 b 3))) (log.f64 (fma.f64 b b (-.f64 4 (*.f64 b 2)))))
(-.f64 (log.f64 (+.f64 (pow.f64 b 3) 8)) (log.f64 (fma.f64 b b (-.f64 4 (*.f64 2 b)))))
(-.f64 (log.f64 (+.f64 (pow.f64 b 3) 8)) (log.f64 (fma.f64 b b (+.f64 4 (*.f64 b -2)))))
(-.f64 (log.f64 (+.f64 (pow.f64 b 3) 8)) (log.f64 (fma.f64 b b (fma.f64 b -2 4))))
(*.f64 (log.f64 (+.f64 b 2)) 1)
(log.f64 (+.f64 2 b))
(*.f64 1 (log.f64 (+.f64 b 2)))
(log.f64 (+.f64 2 b))
(*.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 2))
(log.f64 (+.f64 2 b))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 2) (cbrt.f64 (log.f64 (+.f64 b 2))))
(log.f64 (+.f64 2 b))
(*.f64 (sqrt.f64 (log.f64 (+.f64 b 2))) (sqrt.f64 (log.f64 (+.f64 b 2))))
(log.f64 (+.f64 2 b))
(pow.f64 (log.f64 (+.f64 b 2)) 1)
(log.f64 (+.f64 2 b))
(pow.f64 (pow.f64 (log.f64 (+.f64 b 2)) 3) 1/3)
(log.f64 (+.f64 2 b))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 b 2))) 3)
(log.f64 (+.f64 2 b))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 b 2))) 2)
(log.f64 (+.f64 2 b))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 b 2)) 2))
(log.f64 (+.f64 2 b))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 b 2)) 3))
(log.f64 (+.f64 2 b))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 b 2))))
(log.f64 (+.f64 2 b))
(log1p.f64 (-.f64 (+.f64 b 2) 1))
(log1p.f64 (+.f64 b 1))
(exp.f64 (log.f64 (log.f64 (+.f64 b 2))))
(log.f64 (+.f64 2 b))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.0b
(+.f64 1 (exp.f64 a))
Compiler

Compiled 17 to 9 computations (47.1% saved)

localize19.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (exp.f64 a))
1.0b
(log1p.f64 2)
Compiler

Compiled 29 to 19 computations (34.5% saved)

series0.0ms (0%)

Counts
1 → 0

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
519×fma-def_binary64
378×log-pow_binary64
354×expm1-udef_binary64
354×log1p-udef_binary64
275×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1603
25963
358413
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(log1p.f64 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log.f64 3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log.f64 3) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 3)) (pow.f64 (cbrt.f64 (log.f64 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (cbrt.f64 (log.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 3)) (sqrt.f64 (log.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (pow.f64 (cbrt.f64 (log.f64 3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 3) 1/6) (*.f64 (pow.f64 (log.f64 3) 1/6) (pow.f64 (cbrt.f64 (log.f64 3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (cbrt.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 3) 1/4) (sqrt.f64 (pow.f64 (log.f64 3) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 3) 1/4) (*.f64 (pow.f64 (log.f64 3) 1/4) (sqrt.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log.f64 3)) (pow.f64 (log.f64 3) 1/4)) (pow.f64 (log.f64 3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 3) 5/2)) (pow.f64 (log.f64 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2)) (cbrt.f64 (cbrt.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 5)) (pow.f64 (log.f64 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (log.f64 3) 3/2)) (pow.f64 (log.f64 3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (log.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (log.f64 3) 5/2) 1/3) (pow.f64 (log.f64 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log.f64 3)) (cbrt.f64 (log.f64 3))) (pow.f64 (log.f64 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log.f64 3)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (pow.f64 (log.f64 3) 1/6)) (pow.f64 (log.f64 3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (log.f64 3) 1) 3) 1) (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) (+.f64 1 (+.f64 (log.f64 3) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) -1) (+.f64 (+.f64 (log.f64 3) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (log.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 3))) 2)) (cbrt.f64 (log.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 3)))) (sqrt.f64 (log.f64 (log.f64 3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (log.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 3) 3)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (log.f64 3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (log.f64 3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (log.f64 3) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 (log.f64 3) 1)) (cbrt.f64 (+.f64 (log.f64 3) 1))) (cbrt.f64 (+.f64 (log.f64 3) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (log.f64 3) 1)) (sqrt.f64 (+.f64 (log.f64 3) 1)) -1)))))

simplify39.0ms (0.3%)

Algorithm
egg-herbie
Rules
618×log-prod_binary64
540×associate-*l*_binary64
495×associate-*r*_binary64
254×fma-neg_binary64
241×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0115476
1258361
2681354
34162340
Stop Event
node limit
Counts
47 → 63
Calls
Call 1
Inputs
(+.f64 (+.f64 (log.f64 3) 1) -1)
(-.f64 (+.f64 (log.f64 3) 1) 1)
(*.f64 (log.f64 3) 1)
(*.f64 1 (log.f64 3))
(*.f64 (cbrt.f64 (log.f64 3)) (pow.f64 (cbrt.f64 (log.f64 3)) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (cbrt.f64 (log.f64 3)))
(*.f64 (sqrt.f64 (log.f64 3)) (sqrt.f64 (log.f64 3)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (pow.f64 (cbrt.f64 (log.f64 3)) 2)))
(*.f64 (pow.f64 (log.f64 3) 1/6) (*.f64 (pow.f64 (log.f64 3) 1/6) (pow.f64 (cbrt.f64 (log.f64 3)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (cbrt.f64 (log.f64 3))))
(*.f64 (pow.f64 (log.f64 3) 1/4) (sqrt.f64 (pow.f64 (log.f64 3) 3/2)))
(*.f64 (pow.f64 (log.f64 3) 1/4) (*.f64 (pow.f64 (log.f64 3) 1/4) (sqrt.f64 (log.f64 3))))
(*.f64 (*.f64 (sqrt.f64 (log.f64 3)) (pow.f64 (log.f64 3) 1/4)) (pow.f64 (log.f64 3) 1/4))
(*.f64 (cbrt.f64 (pow.f64 (log.f64 3) 5/2)) (pow.f64 (log.f64 3) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2)) (cbrt.f64 (cbrt.f64 (log.f64 3))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 5)) (pow.f64 (log.f64 3) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (log.f64 3) 3/2)) (pow.f64 (log.f64 3) 1/4))
(*.f64 (pow.f64 1 1/3) (log.f64 3))
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 3))))
(*.f64 (pow.f64 (pow.f64 (log.f64 3) 5/2) 1/3) (pow.f64 (log.f64 3) 1/6))
(*.f64 (*.f64 (sqrt.f64 (log.f64 3)) (cbrt.f64 (log.f64 3))) (pow.f64 (log.f64 3) 1/6))
(*.f64 (*.f64 (cbrt.f64 (log.f64 3)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 3))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (pow.f64 (log.f64 3) 1/6)) (pow.f64 (log.f64 3) 1/6))
(/.f64 (-.f64 (pow.f64 (+.f64 (log.f64 3) 1) 3) 1) (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) (+.f64 1 (+.f64 (log.f64 3) 1))))
(/.f64 (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) -1) (+.f64 (+.f64 (log.f64 3) 1) 1))
(pow.f64 (log.f64 3) 1)
(pow.f64 (pow.f64 (log.f64 3) 2) 1/2)
(pow.f64 (pow.f64 (log.f64 3) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 3)) 3)
(pow.f64 (sqrt.f64 (log.f64 3)) 2)
(pow.f64 (E.f64) (log.f64 (log.f64 3)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 3))) 2)) (cbrt.f64 (log.f64 (log.f64 3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 3)))) (sqrt.f64 (log.f64 (log.f64 3))))
(sqrt.f64 (pow.f64 (log.f64 3) 2))
(fabs.f64 (log.f64 3))
(log.f64 3)
(cbrt.f64 (pow.f64 (log.f64 3) 3))
(expm1.f64 (log1p.f64 (log.f64 3)))
(exp.f64 (log.f64 (log.f64 3)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 3) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 3))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log.f64 3))) 2))
(fma.f64 1 (+.f64 (log.f64 3) 1) -1)
(fma.f64 (+.f64 (log.f64 3) 1) 1 -1)
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (log.f64 3) 1)) (cbrt.f64 (+.f64 (log.f64 3) 1))) (cbrt.f64 (+.f64 (log.f64 3) 1)) -1)
(fma.f64 (sqrt.f64 (+.f64 (log.f64 3) 1)) (sqrt.f64 (+.f64 (log.f64 3) 1)) -1)
Outputs
(+.f64 (+.f64 (log.f64 3) 1) -1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(-.f64 (+.f64 (log.f64 3) 1) 1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (log.f64 3) 1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 1 (log.f64 3))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (cbrt.f64 (log.f64 3)) (pow.f64 (cbrt.f64 (log.f64 3)) 2))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (cbrt.f64 (log.f64 3)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (sqrt.f64 (log.f64 3)) (sqrt.f64 (log.f64 3)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (pow.f64 (cbrt.f64 (log.f64 3)) 2)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (pow.f64 (log.f64 3) 1/6) (*.f64 (pow.f64 (log.f64 3) 1/6) (pow.f64 (cbrt.f64 (log.f64 3)) 2)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (cbrt.f64 (log.f64 3))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (*.f64 (cbrt.f64 (log.f64 3)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2)))
(*.f64 (cbrt.f64 (log.f64 3)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 5))
(*.f64 (pow.f64 (log.f64 3) 1/4) (sqrt.f64 (pow.f64 (log.f64 3) 3/2)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (pow.f64 (log.f64 3) 1/4) (*.f64 (pow.f64 (log.f64 3) 1/4) (sqrt.f64 (log.f64 3))))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (*.f64 (sqrt.f64 (log.f64 3)) (pow.f64 (log.f64 3) 1/4)) (pow.f64 (log.f64 3) 1/4))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (cbrt.f64 (pow.f64 (log.f64 3) 5/2)) (pow.f64 (log.f64 3) 1/6))
(*.f64 (pow.f64 (log.f64 3) 1/6) (cbrt.f64 (pow.f64 (log.f64 3) 5/2)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2)) (cbrt.f64 (cbrt.f64 (log.f64 3))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 8)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 5)) (pow.f64 (log.f64 3) 1/6))
(*.f64 (pow.f64 (log.f64 3) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 5)))
(*.f64 (pow.f64 (log.f64 3) 1/6) (pow.f64 (cbrt.f64 (log.f64 3)) 5/2))
(*.f64 (sqrt.f64 (pow.f64 (log.f64 3) 3/2)) (pow.f64 (log.f64 3) 1/4))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (pow.f64 1 1/3) (log.f64 3))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2) 1/3) (cbrt.f64 (cbrt.f64 (log.f64 3))))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 8)))
(*.f64 (pow.f64 (pow.f64 (log.f64 3) 5/2) 1/3) (pow.f64 (log.f64 3) 1/6))
(*.f64 (pow.f64 (log.f64 3) 1/6) (cbrt.f64 (pow.f64 (log.f64 3) 5/2)))
(*.f64 (*.f64 (sqrt.f64 (log.f64 3)) (cbrt.f64 (log.f64 3))) (pow.f64 (log.f64 3) 1/6))
(*.f64 (pow.f64 (log.f64 3) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 5)))
(*.f64 (pow.f64 (log.f64 3) 1/6) (pow.f64 (cbrt.f64 (log.f64 3)) 5/2))
(*.f64 (*.f64 (cbrt.f64 (log.f64 3)) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (*.f64 (cbrt.f64 (log.f64 3)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2)))
(*.f64 (cbrt.f64 (log.f64 3)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 5))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 3))) 2)) (cbrt.f64 (cbrt.f64 (log.f64 3))))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log.f64 3)) 2) (pow.f64 (log.f64 3) 1/6)) (pow.f64 (log.f64 3) 1/6))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(/.f64 (-.f64 (pow.f64 (+.f64 (log.f64 3) 1) 3) 1) (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) (+.f64 1 (+.f64 (log.f64 3) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (log.f64 3) 1) 3) -1) (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (log.f64 3) 1) 3)) (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (log.f64 3) 1) 3)) (+.f64 1 (*.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 2))))
(/.f64 (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) -1) (+.f64 (+.f64 (log.f64 3) 1) 1))
(/.f64 (fma.f64 (+.f64 (log.f64 3) 1) (+.f64 (log.f64 3) 1) -1) (+.f64 (log.f64 3) 2))
(/.f64 (*.f64 (+.f64 (log.f64 3) 2) (log.f64 3)) (+.f64 (log.f64 3) 2))
(/.f64 (+.f64 (log.f64 3) 2) (/.f64 (+.f64 (log.f64 3) 2) (log.f64 3)))
(*.f64 (/.f64 (+.f64 (log.f64 3) 2) (+.f64 (log.f64 3) 2)) (log.f64 3))
(pow.f64 (log.f64 3) 1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(pow.f64 (pow.f64 (log.f64 3) 2) 1/2)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(pow.f64 (pow.f64 (log.f64 3) 3) 1/3)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(pow.f64 (cbrt.f64 (log.f64 3)) 3)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(pow.f64 (sqrt.f64 (log.f64 3)) 2)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(pow.f64 (E.f64) (log.f64 (log.f64 3)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (log.f64 3))) 2)) (cbrt.f64 (log.f64 (log.f64 3))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (log.f64 3)))) (sqrt.f64 (log.f64 (log.f64 3))))
(sqrt.f64 (pow.f64 (log.f64 3) 2))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(fabs.f64 (log.f64 3))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(log.f64 3)
(+.f64 (log.f64 3) 0)
(cbrt.f64 (pow.f64 (log.f64 3) 3))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(expm1.f64 (log1p.f64 (log.f64 3)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(exp.f64 (log.f64 (log.f64 3)))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 (log.f64 3) 3)) 1/3))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (log.f64 3))) 3))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (log.f64 3))) 2))
(+.f64 (log.f64 3) 0)
(log.f64 3)
(fma.f64 1 (+.f64 (log.f64 3) 1) -1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(fma.f64 (+.f64 (log.f64 3) 1) 1 -1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(fma.f64 (*.f64 (cbrt.f64 (+.f64 (log.f64 3) 1)) (cbrt.f64 (+.f64 (log.f64 3) 1))) (cbrt.f64 (+.f64 (log.f64 3) 1)) -1)
(+.f64 (log.f64 3) 0)
(log.f64 3)
(fma.f64 (sqrt.f64 (+.f64 (log.f64 3) 1)) (sqrt.f64 (+.f64 (log.f64 3) 1)) -1)
(+.f64 (log.f64 3) 0)
(log.f64 3)

eval232.0ms (1.6%)

Compiler

Compiled 11104 to 8948 computations (19.4% saved)

prune72.0ms (0.5%)

Pruning

15 alts after pruning (9 fresh and 6 done)

PrunedKeptTotal
New4096415
Fresh134
Picked101
Done268
Total41315428
Error
0.4b
Counts
428 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
61.0b
(/.f64 b (+.f64 2 a))
32.6b
(/.f64 b (+.f64 1 (exp.f64 a)))
56.8b
(/.f64 b 2)
29.7b
(+.f64 (*.f64 1/2 b) (log.f64 2))
30.2b
(+.f64 (*.f64 1/2 a) (log.f64 2))
2.5b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 3) 3))))
1.9b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3))))
29.7b
(+.f64 (log.f64 2) (/.f64 b (expm1.f64 (log1p.f64 2))))
60.7b
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
30.1b
(log1p.f64 (+.f64 b 1))
30.0b
(log1p.f64 (exp.f64 b))
28.9b
(log1p.f64 (exp.f64 a))
30.0b
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
30.1b
(log.f64 2)
29.8b
(expm1.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
Compiler

Compiled 137 to 111 computations (19% saved)

regimes52.0ms (0.4%)

Counts
32 → 1
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(/.f64 b (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(+.f64 (log.f64 2) (/.f64 b (expm1.f64 (log1p.f64 2))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(-.f64 (+.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1)
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 2))))
(expm1.f64 (log1p.f64 (+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
(+.f64 (log1p.f64 (exp.f64 a)) (*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 1 (+.f64 1 (exp.f64 a))))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 1 (exp.f64 a)))) 3))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a))))) 3) 3))))
Outputs
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Calls

6 calls:

15.0ms
b
14.0ms
a
4.0ms
(exp.f64 a)
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
4.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Results
ErrorSegmentsBranch
0.6b1a
0.6b1b
0.6b1(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
0.6b1(+.f64 (exp.f64 a) (exp.f64 b))
0.6b1(exp.f64 a)
0.6b1(exp.f64 b)
Compiler

Compiled 271 to 169 computations (37.6% saved)

regimes74.0ms (0.5%)

Counts
24 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(/.f64 b (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1))
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(+.f64 (log.f64 2) (/.f64 b (expm1.f64 (log1p.f64 2))))
Outputs
(/.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
Calls

6 calls:

23.0ms
b
22.0ms
a
7.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
5.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
5.0ms
(exp.f64 b)
Results
ErrorSegmentsBranch
0.6b2a
1.4b2b
1.2b2(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
1.2b2(+.f64 (exp.f64 a) (exp.f64 b))
0.6b2(exp.f64 a)
1.4b2(exp.f64 b)
Compiler

Compiled 168 to 111 computations (33.9% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.4199281799854077e-10
Compiler

Compiled 13 to 10 computations (23.1% saved)

regimes47.0ms (0.3%)

Counts
18 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(/.f64 b (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
Outputs
(/.f64 b (+.f64 1 (exp.f64 a)))
(log1p.f64 (+.f64 b (exp.f64 a)))
Calls

4 calls:

17.0ms
a
17.0ms
b
4.0ms
(exp.f64 b)
4.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
0.6b2a
1.4b2b
0.6b2(exp.f64 a)
1.4b2(exp.f64 b)
Compiler

Compiled 101 to 69 computations (31.7% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.4199281799854077e-10
Compiler

Compiled 13 to 10 computations (23.1% saved)

regimes67.0ms (0.5%)

Counts
16 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(/.f64 b (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 b)))
Outputs
(/.f64 b (+.f64 1 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
Calls

4 calls:

38.0ms
b
15.0ms
a
6.0ms
(exp.f64 b)
5.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
0.6b2a
20.4b5b
0.6b2(exp.f64 a)
25.5b3(exp.f64 b)
Compiler

Compiled 89 to 63 computations (29.2% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.4199281799854077e-10
Compiler

Compiled 13 to 10 computations (23.1% saved)

regimes54.0ms (0.4%)

Counts
13 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(/.f64 b (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
Outputs
(/.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 (*.f64 1/2 a) (log.f64 2))
Calls

3 calls:

32.0ms
b
14.0ms
a
5.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
1.2b2a
21.1b5b
1.2b2(exp.f64 a)
Compiler

Compiled 74 to 54 computations (27% saved)

bsearch16.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-3.4088929241800323
-7.317862427527066e-5
Results
14.0ms128×body256valid
Compiler

Compiled 157 to 130 computations (17.2% saved)

regimes22.0ms (0.2%)

Counts
11 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
Outputs
(/.f64 b 2)
(+.f64 (*.f64 1/2 a) (log.f64 2))
Calls

2 calls:

12.0ms
a
8.0ms
b
Results
ErrorSegmentsBranch
25.4b2a
29.7b1b
Compiler

Compiled 54 to 40 computations (25.9% saved)

bsearch16.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-3.4088929241800323
-7.317862427527066e-5
Results
15.0ms128×body256valid
Compiler

Compiled 133 to 114 computations (14.3% saved)

regimes19.0ms (0.1%)

Counts
9 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log1p.f64 (+.f64 b 1))
Outputs
(/.f64 b 2)
(log.f64 (+.f64 2 b))
Calls

2 calls:

11.0ms
a
6.0ms
b
Results
ErrorSegmentsBranch
25.7b2a
30.1b1b
Compiler

Compiled 42 to 30 computations (28.6% saved)

bsearch23.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
-6960.2303543594735
-22.142113067904234
Results
12.0ms101×body256valid
5.0ms19×body512valid
4.0msbody1024valid
Compiler

Compiled 117 to 98 computations (16.2% saved)

regimes18.0ms (0.1%)

Counts
6 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
(log.f64 2)
(log.f64 b)
Outputs
(/.f64 b 2)
(log.f64 2)
Calls

2 calls:

12.0ms
a
5.0ms
b
Results
ErrorSegmentsBranch
25.7b2a
30.1b1b
Compiler

Compiled 30 to 21 computations (30% saved)

bsearch21.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
-6960.2303543594735
-22.142113067904234
Results
14.0ms115×body256valid
4.0msbody1024valid
1.0msbody512valid
Compiler

Compiled 101 to 90 computations (10.9% saved)

regimes31.0ms (0.2%)

Accuracy

Total -5.7b remaining (-10.1%)

Threshold costs -5.7b (-10.1%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 1/2 a)
(/.f64 b 2)
(/.f64 b (+.f64 2 a))
(*.f64 b (+.f64 1/2 (*.f64 a -1/4)))
Outputs
(/.f64 b 2)
Calls

2 calls:

27.0ms
b
4.0ms
a
Results
ErrorSegmentsBranch
56.8b1a
56.8b1b
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036171
144171
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 1 (exp.f64 a))) (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2)))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (+.f64 b (exp.f64 a))))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
(if (<=.f64 a -3152519739159347/2251799813685248) (/.f64 b (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 1/2 a) (log.f64 2)))
(if (<=.f64 a -3152519739159347/2251799813685248) (/.f64 b 2) (+.f64 (*.f64 1/2 a) (log.f64 2)))
(if (<=.f64 a -115) (/.f64 b 2) (log.f64 (+.f64 2 b)))
(if (<=.f64 a -85) (/.f64 b 2) (log.f64 2))
(/.f64 b 2)
(*.f64 1/2 a)
Outputs
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 1 (exp.f64 a))) (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2)))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 (exp.f64 a) 1)) (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2)))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (+.f64 b (exp.f64 a))))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 (exp.f64 a) 1)) (log1p.f64 (+.f64 (exp.f64 a) b)))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))
(if (<=.f64 (exp.f64 a) 0) (/.f64 b (+.f64 (exp.f64 a) 1)) (log1p.f64 (exp.f64 a)))
(if (<=.f64 a -3152519739159347/2251799813685248) (/.f64 b (+.f64 1 (exp.f64 a))) (+.f64 (*.f64 1/2 a) (log.f64 2)))
(if (<=.f64 a -3152519739159347/2251799813685248) (/.f64 b (+.f64 (exp.f64 a) 1)) (+.f64 (*.f64 a 1/2) (log.f64 2)))
(if (<=.f64 a -3152519739159347/2251799813685248) (/.f64 b 2) (+.f64 (*.f64 1/2 a) (log.f64 2)))
(if (<=.f64 a -3152519739159347/2251799813685248) (/.f64 b 2) (+.f64 (*.f64 a 1/2) (log.f64 2)))
(if (<=.f64 a -115) (/.f64 b 2) (log.f64 (+.f64 2 b)))
(if (<=.f64 a -115) (/.f64 b 2) (log.f64 (+.f64 b 2)))
(if (<=.f64 a -85) (/.f64 b 2) (log.f64 2))
(/.f64 b 2)
(*.f64 1/2 a)
(*.f64 a 1/2)
Compiler

Compiled 133 to 95 computations (28.6% saved)

soundness72.0ms (0.5%)

Algorithm
egg-herbie
Rules
703×fma-def_binary64
462×fma-neg_binary64
428×unswap-sqr_binary64
369×log-prod_binary64
305×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01931383
14931275
216301194
371771194
Stop Event
node limit
Compiler

Compiled 26 to 18 computations (30.8% saved)

end80.0ms (0.6%)

Compiler

Compiled 139 to 87 computations (37.4% saved)

Profiling

Loading profile data...