Details

Time bar (total: 14.4s)

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

sample11.2s (77.7%)

Results
8.8s7734×body8192exit
1.1s1971×body1024valid
751.0ms5076×body256valid
303.0ms1000×body512valid
168.0ms209×body2048valid
Bogosity

preprocess16.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
11138
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)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 8 to 6 computations (25% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.02%
(+.f64 (exp.f64 a) (exp.f64 b))
5.7%
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 19 to 6 computations (68.4% saved)

series67.0ms (0.5%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
23.0ms
a
@inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
16.0ms
a
@-inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
16.0ms
b
@inf
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
11.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)))

rewrite68.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1808×add-sqr-sqrt
1792×*-un-lft-identity
1664×add-cube-cbrt
1644×add-cbrt-cube
184×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0934
117734
2222734
Stop Event
node limit
Counts
2 → 58
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 (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 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 (+.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 (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 (exp.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))) 1)))) (#(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 (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 *.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 pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)))) (#(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 pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)))) (#(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 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 exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1))))) (#(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 -.f64 (exp.f64 (log1p.f64 (+.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 (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 (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 (-.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 (+.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 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 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 (-.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 (+.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 b) 2) (pow.f64 (exp.f64 a) 2)) (-.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 (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 pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)))) (#(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 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3)))) (#(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 (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 (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 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 log.f64 (+.f64 1 (expm1.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 exp.f64 (log.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 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 (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))))) (#(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))))))

simplify84.0ms (0.6%)

Algorithm
egg-herbie
Rules
1090×fma-def
1004×unswap-sqr
902×distribute-lft-in
844×distribute-rgt-in
516×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02002618
14992362
219822350
377112350
Stop Event
node limit
Counts
74 → 115
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 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(+.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 (+.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) 2) (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 (exp.f64 a) (exp.f64 b))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))) 1)
(*.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(*.f64 1 (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)))))
(*.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)))))
(pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3) 1/3)
(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)))))
(exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
(-.f64 (exp.f64 (log1p.f64 (+.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 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (sqrt.f64 (+.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 (-.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) 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 1 (/.f64 (-.f64 (exp.f64 a) (exp.f64 b)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2))))
(/.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) 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 (pow.f64 (exp.f64 b) 2) (-.f64 (pow.f64 (exp.f64 a) 2) (exp.f64 (+.f64 a b)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (pow.f64 (exp.f64 a) 2)) (-.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 (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))))))
(pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3)
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3) 1/3)
(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 (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 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))))
(log.f64 (+.f64 1 (expm1.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))))
(exp.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(log1p.f64 (expm1.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 (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))
(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))
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 a (*.f64 a 1/2)) (+.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 2 (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (-.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (/.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 a (*.f64 a 1/2)) (+.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)))))
(+.f64 (/.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))) (log1p.f64 (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 (*.f64 1/6 (pow.f64 b 3)) (+.f64 (/.f64 2 (pow.f64 (+.f64 1 (exp.f64 a)) 3)) (+.f64 (/.f64 1 (+.f64 1 (exp.f64 a))) (/.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 (fma.f64 1/2 (*.f64 a a) 1) a) (exp.f64 b))
(fma.f64 a (*.f64 a 1/2) (+.f64 (exp.f64 b) (+.f64 1 a)))
(+.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 1 (fma.f64 a (*.f64 a 1/2) (+.f64 (exp.f64 b) (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 b (+.f64 1 (fma.f64 b (*.f64 b 1/2) (exp.f64 a))))
(+.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 (fma.f64 1/6 (pow.f64 b 3) 1) (exp.f64 a)) (fma.f64 1/2 (*.f64 b b) b))
(+.f64 b (+.f64 (fma.f64 b (*.f64 b 1/2) (exp.f64 a)) (fma.f64 1/6 (pow.f64 b 3) 1)))
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 0 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.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 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.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)) (exp.f64 (+.f64 a 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 (exp.f64 (+.f64 a a)) (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 (exp.f64 a) (exp.f64 b))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))) 1)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 1 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.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)))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.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 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.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 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 1)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 2)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3) 1/3)
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(exp.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) (exp.f64 a)))))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 1)
(+.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 (+.f64 a a)) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (exp.f64 (+.f64 a a))) (-.f64 (exp.f64 b) (exp.f64 a)))
(*.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(+.f64 (exp.f64 b) (exp.f64 a))
(*.f64 1 (+.f64 (exp.f64 a) (exp.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 (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 (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 (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 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (exp.f64 (+.f64 a a)) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (exp.f64 (+.f64 a a))) (-.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)) (exp.f64 (+.f64 a a))))
(/.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 (exp.f64 (+.f64 a a)) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (exp.f64 (+.f64 a a))) (-.f64 (exp.f64 b) (exp.f64 a)))
(/.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)) (exp.f64 (+.f64 a a))))
(/.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 (+.f64 a a)) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (exp.f64 (+.f64 a a))) (-.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 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)) (exp.f64 (+.f64 a 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) 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)) (exp.f64 (+.f64 a a))))
(/.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)))
(/.f64 (-.f64 (exp.f64 (+.f64 a a)) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (exp.f64 (+.f64 a a))) (-.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 a) 2) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (exp.f64 (+.f64 a a)) (pow.f64 (exp.f64 b) 2)) (-.f64 (exp.f64 a) (exp.f64 b)))
(/.f64 (-.f64 (pow.f64 (exp.f64 b) 2) (exp.f64 (+.f64 a a))) (-.f64 (exp.f64 b) (exp.f64 a)))
(/.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)) (exp.f64 (+.f64 a a))))
(pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1)
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 2)
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (exp.f64 b))) 3)
(+.f64 (exp.f64 b) (exp.f64 a))
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3) 1/3)
(+.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 (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 (exp.f64 b) (exp.f64 a))
(pow.f64 (exp.f64 1) (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 (exp.f64 b) (exp.f64 a))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 2))
(+.f64 (exp.f64 b) (exp.f64 a))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 (exp.f64 b) (exp.f64 a))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
(+.f64 (exp.f64 b) (exp.f64 a))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 3))
(+.f64 (exp.f64 b) (exp.f64 a))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 (exp.f64 b) (exp.f64 a))
(exp.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 (exp.f64 b) (exp.f64 a))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 1 (exp.f64 a) (exp.f64 b))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 1 (exp.f64 b) (exp.f64 a))
(+.f64 (exp.f64 b) (exp.f64 a))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (exp.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 (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 (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 (exp.f64 b) (exp.f64 a))

eval30.0ms (0.2%)

Compiler

Compiled 1984 to 1041 computations (47.5% saved)

prune20.0ms (0.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1078115
Fresh000
Picked101
Done000
Total1088116
Error
0.32%
Counts
116 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
1%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
0.79%
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
47.81%
(log1p.f64 (exp.f64 b))
46.9%
(log1p.f64 (exp.f64 a))
45.71%
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
45.33%
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
47.81%
(log.f64 (+.f64 1 (exp.f64 b)))
47.11%
(log.f64 (+.f64 1 (exp.f64 a)))
Compiler

Compiled 136 to 104 computations (23.5% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.77%
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
Compiler

Compiled 19 to 6 computations (68.4% saved)

series28.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

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

rewrite56.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1838×add-sqr-sqrt
1822×*-un-lft-identity
1694×add-cube-cbrt
1674×add-cbrt-cube
184×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
1308×associate-+r+
1220×associate-+l+
1194×associate-*r*
996×associate-*r/
946×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0911256
12311252
28891240
340921228
Stop Event
node limit
Counts
40 → 46
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 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 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 (-.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))))))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))))) 1)
(*.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 1)
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 3)
(pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 2))
(log.f64 (+.f64 (+.f64 1 (exp.f64 a)) (expm1.f64 b)))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 1))
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 (+.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 a (+.f64 1 (exp.f64 b))) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1/2 (+.f64 1 (exp.f64 b))) (/.f64 -1/2 (pow.f64 (+.f64 1 (exp.f64 b)) 2))) (log1p.f64 (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 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b)))) (*.f64 (*.f64 1/6 (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 (/.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)))) (log1p.f64 (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 a (+.f64 1 (exp.f64 b)))))
(+.f64 (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)))) (log1p.f64 (exp.f64 b))) (fma.f64 (+.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)))) (*.f64 1/6 (pow.f64 a 3)) (/.f64 a (+.f64 1 (exp.f64 b)))))
(+.f64 (fma.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)))) (log1p.f64 (exp.f64 b))) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1/2 (+.f64 1 (exp.f64 b))) (/.f64 -1/2 (pow.f64 (+.f64 1 (exp.f64 b)) 2))) (/.f64 a (+.f64 1 (exp.f64 b)))))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(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)))
(log.f64 (+.f64 (exp.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 (-.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)))))
(+.f64 (log1p.f64 (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 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 (*.f64 1/6 (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 (+.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)))) (*.f64 1/6 (pow.f64 b 3)) (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 (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))))))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(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)))
(log.f64 (+.f64 (exp.f64 b) (exp.f64 a)))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))))) 1)
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 1)
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 2))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 1)
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 2)
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 3)
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 3) 1/3)
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 2))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(log.f64 (+.f64 (+.f64 1 (exp.f64 a)) (expm1.f64 b)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b))) 3))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))) 1))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.01%
(log1p.f64 (exp.f64 a))
Compiler

Compiled 8 to 4 computations (50% saved)

series37.0ms (0.3%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
25.0ms
a
@inf
(log1p.f64 (exp.f64 a))
11.0ms
a
@-inf
(log1p.f64 (exp.f64 a))
0.0ms
a
@0
(log1p.f64 (exp.f64 a))

rewrite49.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1072×associate-*r*
840×add-sqr-sqrt
830×*-un-lft-identity
784×pow1
766×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
1959
210639
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(log1p.f64 (exp.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log1p.f64 (exp.f64 a)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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 *.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))) (sqrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))))) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (cbrt.f64 (cbrt.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 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)))) (#(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 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)))) (#(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 (exp.f64 a) 1))))) (#(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))))))))

simplify63.0ms (0.4%)

Algorithm
egg-herbie
Rules
1278×associate-*r*
1112×associate-*l*
820×associate-+l+
798×associate-+r+
786×log-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
078540
1175536
2593532
33656502
46957502
Stop Event
node limit
Counts
36 → 45
Calls
Call 1
Inputs
(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 (log1p.f64 (exp.f64 a)) 1) 1)
(*.f64 (log1p.f64 (exp.f64 a)) 1)
(*.f64 1 (log1p.f64 (exp.f64 a)))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))) (sqrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))))) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(pow.f64 (log1p.f64 (exp.f64 a)) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))
(log.f64 (+.f64 (exp.f64 a) 1))
(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
(log.f64 2)
(+.f64 (*.f64 1/2 a) (log.f64 2))
(fma.f64 1/2 a (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 1/8 (*.f64 a a)))
(fma.f64 1/2 a (fma.f64 1/8 (*.f64 a a) (log.f64 2)))
(fma.f64 1/2 a (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 1/8 (*.f64 a a))))
(+.f64 (fma.f64 1/2 a (log.f64 2)) (fma.f64 1/8 (*.f64 a a) (*.f64 -1/192 (pow.f64 a 4))))
(fma.f64 1/2 a (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 (log1p.f64 (exp.f64 a)) 1) 1)
(log1p.f64 (exp.f64 a))
(*.f64 (log1p.f64 (exp.f64 a)) 1)
(log1p.f64 (exp.f64 a))
(*.f64 1 (log1p.f64 (exp.f64 a)))
(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))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))
(log1p.f64 (exp.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))) (sqrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))))
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 5/2) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (sqrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))))) (sqrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(log1p.f64 (exp.f64 a))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))))
(*.f64 (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))) (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) (*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))))))
(*.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 a)))) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) 4))
(pow.f64 (log1p.f64 (exp.f64 a)) 1)
(log1p.f64 (exp.f64 a))
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)
(log1p.f64 (exp.f64 a))
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)
(log1p.f64 (exp.f64 a))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)
(log1p.f64 (exp.f64 a))
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 (exp.f64 a) 1))
(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))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.01%
(+.f64 1 (exp.f64 a))
0.2%
(log.f64 (+.f64 1 (exp.f64 a)))
Compiler

Compiled 15 to 9 computations (40% saved)

series0.0ms (0%)

Counts
2 → 8
Calls

6 calls:

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

rewrite55.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1434×add-sqr-sqrt
1418×*-un-lft-identity
1318×add-cube-cbrt
1304×add-cbrt-cube
1290×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
115320
2177020
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (exp.f64 a)))
(+.f64 1 (exp.f64 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log1p.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2)) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))) (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 1 (pow.f64 (exp.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 (+.f64 1 (log1p.f64 (exp.f64 a))) 1)))) (#(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 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.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 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)))) (#(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 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))))) (#(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))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log1p.f64 (exp.f64 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (exp.f64 a))))))
((#(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 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) (hypot.f64 1 (sqrt.f64 (exp.f64 a))))))) (#(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 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.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 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))))) (#(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 (-.f64 1 (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) 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 (pow.f64 (exp.f64 a) 2) 1) (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 (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 pow.f64 (+.f64 1 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) 2)))) (#(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 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)))) (#(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 (exp.f64 (pow.f64 (cbrt.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 exp.f64 (log1p.f64 (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 fma.f64 1 (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 fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)))))

simplify62.0ms (0.4%)

Algorithm
egg-herbie
Rules
1376×times-frac
1154×associate-/l*
748×associate-+r+
666×associate-+l+
664×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01421286
13251184
211731000
33688976
Stop Event
node limit
Counts
62 → 92
Calls
Call 1
Inputs
(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)))))
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 0 (log1p.f64 (exp.f64 a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2)) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))) (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))))
(-.f64 (log.f64 (+.f64 1 (pow.f64 (exp.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 (+.f64 1 (log1p.f64 (exp.f64 a))) 1)
(*.f64 1 (log1p.f64 (exp.f64 a)))
(*.f64 (log1p.f64 (exp.f64 a)) 1)
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(pow.f64 (log1p.f64 (exp.f64 a)) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))
(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))))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (exp.f64 a))) 1))
(log1p.f64 (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 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) (hypot.f64 1 (sqrt.f64 (exp.f64 a))))
(*.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 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 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 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.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) 2)) (-.f64 1 (exp.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 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.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)))))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) 2)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(pow.f64 (E.f64) (log1p.f64 (exp.f64 a)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.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))))
(exp.f64 (log1p.f64 (exp.f64 a)))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(fma.f64 1 (exp.f64 a) 1)
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) 1)
Outputs
(log.f64 2)
(+.f64 (*.f64 1/2 a) (log.f64 2))
(fma.f64 1/2 a (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 1/8 (*.f64 a a)))
(fma.f64 1/2 a (fma.f64 1/8 (*.f64 a a) (log.f64 2)))
(fma.f64 1/2 a (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 1/8 (*.f64 a a))))
(+.f64 (fma.f64 1/2 a (log.f64 2)) (fma.f64 1/8 (*.f64 a a) (*.f64 -1/192 (pow.f64 a 4))))
(fma.f64 1/2 a (fma.f64 -1/192 (pow.f64 a 4) (fma.f64 a (*.f64 a 1/8) (log.f64 2))))
(fma.f64 1/2 a (fma.f64 a (*.f64 a 1/8) (fma.f64 -1/192 (pow.f64 a 4) (log.f64 2))))
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 1/2 (*.f64 a a) a))
(+.f64 a (fma.f64 1/2 (*.f64 a a) 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 2 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) 2) (fma.f64 1/2 (*.f64 a a) a))
(+.f64 2 (fma.f64 1/2 (*.f64 a a) (fma.f64 1/6 (pow.f64 a 3) a)))
(+.f64 0 (log1p.f64 (exp.f64 a)))
(log1p.f64 (exp.f64 a))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2)) (log.f64 (cbrt.f64 (+.f64 1 (exp.f64 a)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) 1)))) (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) 1))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) 1))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 2 (expm1.f64 a)))))
(+.f64 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))) (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))))
(*.f64 2 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a)))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 2 (expm1.f64 a)))))
(-.f64 (log.f64 (+.f64 1 (pow.f64 (exp.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 (log1p.f64 (neg.f64 (pow.f64 (exp.f64 a) 2))) (log.f64 (neg.f64 (expm1.f64 a))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 a))) 1)
(log1p.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 (sqrt.f64 (log1p.f64 (exp.f64 a))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(log1p.f64 (exp.f64 a))
(*.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2))
(log1p.f64 (exp.f64 a))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2) (cbrt.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 (sqrt.f64 (log1p.f64 (exp.f64 a))) 2)
(log1p.f64 (exp.f64 a))
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 3)
(log1p.f64 (exp.f64 a))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) 1/3)
(log1p.f64 (exp.f64 a))
(sqrt.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 2))
(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))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (exp.f64 a))) 1))
(log1p.f64 (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 (+.f64 2 (expm1.f64 a)) 1)
(*.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 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) (hypot.f64 1 (sqrt.f64 (exp.f64 a))))
(+.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))) (pow.f64 (cbrt.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))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 2) (cbrt.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 (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 (+.f64 2 (expm1.f64 a)) 1)
(*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (/.f64 1 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) 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 2 (expm1.f64 a)) 1)
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))) (+.f64 1 (pow.f64 (exp.f64 a) 3))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) 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 (+.f64 2 (expm1.f64 a)) 1)
(/.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) 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 (+.f64 1 (pow.f64 (exp.f64 a) 3)) 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 (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))
(/.f64 (+.f64 2 (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 2 (expm1.f64 a)) 1)
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 a) (expm1.f64 a)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (exp.f64 a) 3)) 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))
(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 (hypot.f64 1 (sqrt.f64 (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 (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 (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 (E.f64) (log1p.f64 (exp.f64 a)))
(exp.f64 (log1p.f64 (exp.f64 a)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 a))) 2)) (cbrt.f64 (log1p.f64 (exp.f64 a))))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 a)))
(exp.f64 (log1p.f64 (exp.f64 a)))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (exp.f64 a)))) (sqrt.f64 (log1p.f64 (exp.f64 a))))
(pow.f64 (E.f64) (log1p.f64 (exp.f64 a)))
(exp.f64 (log1p.f64 (exp.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))
(exp.f64 (log1p.f64 (exp.f64 a)))
(pow.f64 (E.f64) (log1p.f64 (exp.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))
(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 (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))
(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))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.01%
(+.f64 (exp.f64 a) (+.f64 1 b))
4.92%
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
Compiler

Compiled 23 to 13 computations (43.5% saved)

series29.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
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)))
0.0ms
a
@0
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
0.0ms
b
@inf
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
0.0ms
b
@-inf
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))

rewrite91.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
966×associate-*r/
886×*-commutative
796×distribute-lft-in
756×distribute-rgt-in
668×associate-*l/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01038
120438
2266932
Stop Event
node limit
Counts
2 → 120
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 (log1p.f64 (+.f64 (exp.f64 a) b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log1p.f64 (+.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)))))) (#(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 0 (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 (+.f64 0 (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 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (*.f64 1 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) 1) (*.f64 (log.f64 (cbrt.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 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (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 (+.f64 0 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (log.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 0 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (+.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (+.f64 (exp.f64 a) b))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 b) (-.f64 1 (+.f64 (exp.f64 a) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 a) 1) (-.f64 1 (+.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log.f64 (+.f64 (+.f64 2 b) (exp.f64 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log.f64 (+.f64 2 b))) (-.f64 1 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 b)) (-.f64 (/.f64 b (/.f64 (-.f64 1 b) b)) (exp.f64 a)))))) (#(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 (+.f64 (+.f64 2 b) (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 a) (exp.f64 (log.f64 (+.f64 2 b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (exp.f64 a) (/.f64 1 (-.f64 1 b))) (/.f64 b (/.f64 (-.f64 1 b) 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 (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 (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 (-.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 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.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 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (+.f64 (exp.f64 a) (+.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.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 (exp.f64 a) (+.f64 1 b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (+.f64 1 (-.f64 b (exp.f64 a))) (+.f64 1 (-.f64 b (exp.f64 a))))))) (-.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) 3))) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) (-.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) (pow.f64 (exp.f64 a) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) (/.f64 (-.f64 (expm1.f64 a) b) (-.f64 (expm1.f64 a) 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 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (exp.f64 a) (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (/.f64 (-.f64 (expm1.f64 a) b) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (/.f64 (-.f64 (expm1.f64 a) b) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) (+.f64 1 (-.f64 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 (exp.f64 a) (-.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (+.f64 1 b) 3))) (*.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 1 b) (pow.f64 (+.f64 1 b) 3))) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3)) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 1 b) 3) 3)) (*.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (-.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (exp.f64 a) 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 1 b) 2) 3)) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2))))))))) (#(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 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b))) (+.f64 (exp.f64 a) (-.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3))) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (cbrt.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) 1) (+.f64 1 (-.f64 b (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) 1) (+.f64 (exp.f64 a) (-.f64 1 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3)) 1) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) 1) (neg.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) 1) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (cbrt.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 1 b) (pow.f64 (+.f64 1 b) 3))) (/.f64 1 (-.f64 (expm1.f64 a) b))) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 1 b) 2) 3)) (/.f64 1 (-.f64 (expm1.f64 a) b))) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (+.f64 1 b) 3))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 1 b) 3) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (+.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (-.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (exp.f64 a) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) 1) (-.f64 (expm1.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (*.f64 (cbrt.f64 (-.f64 (expm1.f64 a) b)) (cbrt.f64 (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (-.f64 (expm1.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (+.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (exp.f64 a)))) (-.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (+.f64 1 b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) 1) (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) 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 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)))) (#(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 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log1p.f64 (+.f64 (exp.f64 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.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 neg.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) 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 log.f64 (+.f64 1 (expm1.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 (log.f64 (+.f64 (+.f64 2 b) (exp.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (+.f64 (exp.f64 a) 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 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 (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))))) (#(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))))))

simplify100.0ms (0.7%)

Algorithm
egg-herbie
Rules
1456×associate-*r/
1260×associate-*l/
1094×+-commutative
378×associate-*r*
368×associate--r+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04007044
111366662
247706662
Stop Event
node limit
Counts
168 → 246
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 (log1p.f64 (+.f64 (exp.f64 a) b)) 0)
(+.f64 0 (log1p.f64 (+.f64 (exp.f64 a) b)))
(+.f64 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)))
(+.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 0 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(+.f64 (+.f64 0 (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 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (*.f64 1 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))
(+.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1))
(+.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) 1) (*.f64 (log.f64 (cbrt.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 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) 1)
(-.f64 (+.f64 0 (log.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (log.f64 (-.f64 (expm1.f64 a) b)))
(-.f64 (+.f64 0 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (log.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(-.f64 (+.f64 0 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))) 1)
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 a) b)))
(*.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 3)
(pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 2))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(-.f64 (+.f64 1 b) (-.f64 1 (+.f64 (exp.f64 a) 1)))
(-.f64 (+.f64 (exp.f64 a) 1) (-.f64 1 (+.f64 1 b)))
(-.f64 (exp.f64 (log.f64 (+.f64 (+.f64 2 b) (exp.f64 a)))) 1)
(-.f64 (exp.f64 (log.f64 (+.f64 2 b))) (-.f64 1 (exp.f64 a)))
(-.f64 (/.f64 1 (-.f64 1 b)) (-.f64 (/.f64 b (/.f64 (-.f64 1 b) b)) (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 (+.f64 2 b) (exp.f64 a)) 1)
(-.f64 (+.f64 (exp.f64 a) (exp.f64 (log.f64 (+.f64 2 b)))) 1)
(-.f64 (+.f64 (exp.f64 a) (/.f64 1 (-.f64 1 b))) (/.f64 b (/.f64 (-.f64 1 b) b)))
(*.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b)))
(*.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(*.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 (-.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) 3) (pow.f64 (+.f64 1 b) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(*.f64 (/.f64 1 (-.f64 (expm1.f64 a) b)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (+.f64 (exp.f64 a) (+.f64 1 b)))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.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 (exp.f64 a) (+.f64 1 b)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (+.f64 1 (-.f64 b (exp.f64 a))) (+.f64 1 (-.f64 b (exp.f64 a))))))) (-.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a))))))
(*.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) 3))) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) (-.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) (pow.f64 (exp.f64 a) 2)))))
(/.f64 1 (/.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b))))
(/.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) (/.f64 (-.f64 (expm1.f64 a) b) (-.f64 (expm1.f64 a) b)))
(/.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) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (exp.f64 a) (+.f64 1 b))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (/.f64 (-.f64 (expm1.f64 a) b) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (/.f64 (-.f64 (expm1.f64 a) b) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))
(/.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) (+.f64 1 (-.f64 b (exp.f64 a))))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) (+.f64 (exp.f64 a) (-.f64 1 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (+.f64 1 b) 3))) (*.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))))
(/.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 1 b) (pow.f64 (+.f64 1 b) 3))) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2))))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3)) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 1 b) 3) 3)) (*.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (-.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (exp.f64 a) 3))))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 1 b) 2) 3)) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (+.f64 (pow.f64 (+.f64 1 b) 2) (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 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b))) (+.f64 (exp.f64 a) (-.f64 1 b)))
(/.f64 (*.f64 1 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3))) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (cbrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) 1) (+.f64 1 (-.f64 b (exp.f64 a))))
(/.f64 (*.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) 1) (+.f64 (exp.f64 a) (-.f64 1 b)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3)) 1) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) 1) (neg.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) 1) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (cbrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 1 b) (pow.f64 (+.f64 1 b) 3))) (/.f64 1 (-.f64 (expm1.f64 a) b))) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 1 b) 2) 3)) (/.f64 1 (-.f64 (expm1.f64 a) b))) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (+.f64 1 b) 3))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 1 b) 3) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (+.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (-.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (exp.f64 a) 3)))))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) 1) (-.f64 (expm1.f64 a) b))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (*.f64 (cbrt.f64 (-.f64 (expm1.f64 a) b)) (cbrt.f64 (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (+.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (exp.f64 a)))) (-.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (+.f64 1 b))))
(/.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) 1) (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3)
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3) 1/3)
(pow.f64 (E.f64) (log1p.f64 (+.f64 (exp.f64 a) b)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (neg.f64 (-.f64 (expm1.f64 a) b))))
(neg.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 2))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3))
(expm1.f64 (log.f64 (+.f64 (+.f64 2 b) (exp.f64 a))))
(exp.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))
(log1p.f64 (expm1.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 (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))
(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))
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 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b))) (*.f64 (*.f64 1/2 (*.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 (/.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 2 b)) (/.f64 a (+.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 (*.f64 1/2 (*.f64 a a)) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))
(+.f64 (+.f64 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b))) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 2 b)) (+.f64 (/.f64 2 (pow.f64 (+.f64 2 b) 3)) (/.f64 -3 (pow.f64 (+.f64 2 b) 2))))) (*.f64 (*.f64 a a) (*.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2))) 1/2))))
(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 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 2 (expm1.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 (*.f64 b b) (pow.f64 (+.f64 2 (expm1.f64 a)) 2)) (/.f64 b (+.f64 2 (expm1.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 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (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 b) (pow.f64 (+.f64 2 (expm1.f64 a)) 2)) (fma.f64 1/3 (/.f64 (pow.f64 b 3) (pow.f64 (+.f64 2 (expm1.f64 a)) 3)) (/.f64 b (+.f64 2 (expm1.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 (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 (log.f64 b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (/.f64 (exp.f64 a) b)))
(+.f64 (log.f64 b) (+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b 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 (*.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 (log.f64 b) (+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 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 (exp.f64 a) b) (+.f64 (/.f64 1 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 (/.f64 (exp.f64 a) b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (log.f64 -1))) (log.f64 (/.f64 -1 b)))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (-.f64 (+.f64 (/.f64 (exp.f64 a) 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 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b b)) (fma.f64 1/3 (/.f64 (pow.f64 (+.f64 2 (expm1.f64 a)) 3) (pow.f64 b 3)) (/.f64 1 b))) (-.f64 (+.f64 (/.f64 (exp.f64 a) b) (log.f64 -1)) (log.f64 (/.f64 -1 b))))
(+.f64 2 b)
(+.f64 2 (+.f64 a b))
(+.f64 2 (+.f64 b a))
(+.f64 b (+.f64 2 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)))
(fma.f64 1/2 (*.f64 a a) (+.f64 b (+.f64 2 a)))
(+.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 (+.f64 2 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 a (+.f64 (fma.f64 1/6 (pow.f64 a 3) b) (fma.f64 1/2 (*.f64 a a) 2)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (exp.f64 a))
(+.f64 2 (expm1.f64 a))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
b
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
b
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 1 (+.f64 (exp.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(+.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 0)
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 0 (log1p.f64 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)))
(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 0 (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 (+.f64 0 (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 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))) (*.f64 1 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1) (*.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) 1))
(log1p.f64 (+.f64 b (exp.f64 a)))
(+.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) 1) (*.f64 (log.f64 (cbrt.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 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2))))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(-.f64 (+.f64 0 (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 (+.f64 0 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (log.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(-.f64 (log.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (log.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2))))
(-.f64 (+.f64 0 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 3)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3) 1/3)
(log1p.f64 (+.f64 b (exp.f64 a)))
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 2))
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 b (exp.f64 a))) 2))
(fabs.f64 (log1p.f64 (+.f64 b (exp.f64 a))))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3))
(log1p.f64 (+.f64 b (exp.f64 a)))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log1p.f64 (+.f64 b (exp.f64 a)))
(-.f64 (+.f64 1 b) (-.f64 1 (+.f64 (exp.f64 a) 1)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (+.f64 (exp.f64 a) 1) (-.f64 1 (+.f64 1 b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (exp.f64 (log.f64 (+.f64 (+.f64 2 b) (exp.f64 a)))) 1)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (exp.f64 (log.f64 (+.f64 2 b))) (-.f64 1 (exp.f64 a)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (/.f64 1 (-.f64 1 b)) (-.f64 (/.f64 b (/.f64 (-.f64 1 b) b)) (exp.f64 a)))
(+.f64 (-.f64 (/.f64 1 (-.f64 1 b)) (*.f64 (/.f64 b (-.f64 1 b)) b)) (exp.f64 a))
(+.f64 (exp.f64 a) (-.f64 (/.f64 1 (-.f64 1 b)) (*.f64 b (/.f64 b (-.f64 1 b)))))
(-.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 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (+.f64 (+.f64 2 b) (exp.f64 a)) 1)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (+.f64 (exp.f64 a) (exp.f64 (log.f64 (+.f64 2 b)))) 1)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(-.f64 (+.f64 (exp.f64 a) (/.f64 1 (-.f64 1 b))) (/.f64 b (/.f64 (-.f64 1 b) b)))
(+.f64 (-.f64 (/.f64 1 (-.f64 1 b)) (*.f64 (/.f64 b (-.f64 1 b)) b)) (exp.f64 a))
(+.f64 (exp.f64 a) (-.f64 (/.f64 1 (-.f64 1 b)) (*.f64 b (/.f64 b (-.f64 1 b)))))
(*.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.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 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.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 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (/.f64 1 (-.f64 (expm1.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(*.f64 (/.f64 1 (-.f64 (expm1.f64 a) b)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(*.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.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 (exp.f64 a) (+.f64 1 b)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (+.f64 (exp.f64 a) (+.f64 b 1))))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (/.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) 2) (pow.f64 (+.f64 b 1) 2)) (/.f64 (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (+.f64 b 1) (+.f64 b (+.f64 2 (expm1.f64 a))) (pow.f64 (exp.f64 a) 2))))
(*.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (+.f64 1 (-.f64 b (exp.f64 a))) (+.f64 1 (-.f64 b (exp.f64 a))))))) (-.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a))))))
(*.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (*.f64 (pow.f64 (+.f64 b 1) 2) (+.f64 1 (-.f64 b (exp.f64 a)))) (+.f64 1 (-.f64 b (exp.f64 a)))))) (-.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)) (/.f64 (-.f64 (pow.f64 (exp.f64 a) 4) (*.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (-.f64 b (expm1.f64 a)) (-.f64 b (expm1.f64 a))))) (-.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (+.f64 b 1) (-.f64 b (expm1.f64 a))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (/.f64 (-.f64 (pow.f64 (exp.f64 a) 4) (*.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (-.f64 b (expm1.f64 a)) (-.f64 b (expm1.f64 a))))) (+.f64 (pow.f64 (exp.f64 a) 2) (*.f64 (-.f64 b (expm1.f64 a)) (-.f64 -1 b)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) 3))) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) (-.f64 (*.f64 (+.f64 1 b) (+.f64 1 (-.f64 b (exp.f64 a)))) (pow.f64 (exp.f64 a) 2)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))) 3))) (fma.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3) (*.f64 (+.f64 b 1) (*.f64 (+.f64 1 (-.f64 b (exp.f64 a))) (-.f64 (*.f64 (+.f64 b 1) (+.f64 1 (-.f64 b (exp.f64 a)))) (pow.f64 (exp.f64 a) 2))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (*.f64 (+.f64 b 1) (-.f64 b (expm1.f64 a))) (-.f64 (*.f64 (+.f64 b 1) (-.f64 b (expm1.f64 a))) (pow.f64 (exp.f64 a) 2)) (pow.f64 (exp.f64 a) 4))) (+.f64 (pow.f64 (*.f64 (+.f64 b 1) (-.f64 b (expm1.f64 a))) 3) (pow.f64 (exp.f64 a) 6)))
(/.f64 1 (/.f64 1 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) (/.f64 (-.f64 (expm1.f64 a) b) (-.f64 (expm1.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (-.f64 (expm1.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (/.f64 (-.f64 (expm1.f64 a) b) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (-.f64 (expm1.f64 a) b)) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)))) (-.f64 (expm1.f64 a) b))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))
(*.f64 (/.f64 (sqrt.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 (expm1.f64 a) b)))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(*.f64 (hypot.f64 (pow.f64 (exp.f64 a) 3/2) (pow.f64 (+.f64 b 1) 3/2)) (/.f64 (hypot.f64 (pow.f64 (exp.f64 a) 3/2) (pow.f64 (+.f64 b 1) 3/2)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (/.f64 (-.f64 (expm1.f64 a) b) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)))) (-.f64 (expm1.f64 a) b)) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (/.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (/.f64 (-.f64 (expm1.f64 a) b) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (/.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))))
(/.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))))
(/.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))) (/.f64 (/.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))))
(/.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) (+.f64 1 (-.f64 b (exp.f64 a))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) (+.f64 (exp.f64 a) (-.f64 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 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b b)) (+.f64 1 (-.f64 (exp.f64 a) b)))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (+.f64 1 b) 3))) (*.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 6) (pow.f64 (+.f64 b 1) 6)) (*.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 6) (pow.f64 (+.f64 b 1) 6)) (*.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(/.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 1 b) (pow.f64 (+.f64 1 b) 3))) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2))))
(/.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 b 1) (pow.f64 (+.f64 b 1) 3))) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 4) (pow.f64 (+.f64 b 1) 4)) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3)) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))
(/.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 (-.f64 b (exp.f64 a)) -1) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 2 (expm1.f64 a)) 3)) (fma.f64 b (+.f64 b (-.f64 -1 (exp.f64 a))) (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 1 b) 3) 3)) (*.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (-.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (exp.f64 a) 3))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 b 1) 3) 3)) (*.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (pow.f64 (exp.f64 a) 6) (*.f64 (pow.f64 (+.f64 b 1) 3) (-.f64 (pow.f64 (+.f64 b 1) 3) (pow.f64 (exp.f64 a) 3))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 b 1) 3) 3)) (*.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)) (fma.f64 (pow.f64 (+.f64 b 1) 3) (-.f64 (pow.f64 (+.f64 b 1) 3) (pow.f64 (exp.f64 a) 3)) (pow.f64 (exp.f64 a) 6))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 1 b) 2) 3)) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2))))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 b 1) 2) 3)) (*.f64 (-.f64 (expm1.f64 a) b) (fma.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3) (*.f64 (pow.f64 (+.f64 b 1) 2) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 6) (pow.f64 (+.f64 b 1) 6)) (-.f64 (expm1.f64 a) b)) (fma.f64 (pow.f64 (+.f64 b 1) 2) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (pow.f64 (exp.f64 a) 4)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (neg.f64 (-.f64 (expm1.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(/.f64 (*.f64 1 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b))) (+.f64 (exp.f64 a) (-.f64 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 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b b)) (+.f64 1 (-.f64 (exp.f64 a) b)))
(/.f64 (*.f64 1 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3))) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))
(/.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 (-.f64 b (exp.f64 a)) -1) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 2 (expm1.f64 a)) 3)) (fma.f64 b (+.f64 b (-.f64 -1 (exp.f64 a))) (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (/.f64 (sqrt.f64 (-.f64 (expm1.f64 a) b)) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (hypot.f64 (pow.f64 (exp.f64 a) 3/2) (pow.f64 (+.f64 b 1) 3/2)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))) (sqrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (hypot.f64 (pow.f64 (exp.f64 a) 3/2) (pow.f64 (+.f64 b 1) 3/2)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)))) (cbrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1))) 2) (/.f64 (cbrt.f64 (-.f64 (expm1.f64 a) b)) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (-.f64 (expm1.f64 a) b))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))) 2) (cbrt.f64 (-.f64 (expm1.f64 a) b))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1))) 2) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))) 2) (cbrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(/.f64 (*.f64 (-.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)) 1) (+.f64 1 (-.f64 b (exp.f64 a))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (*.f64 (-.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b b)) 1) (+.f64 (exp.f64 a) (-.f64 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 (pow.f64 (+.f64 2 (expm1.f64 a)) 2) (*.f64 b b)) (+.f64 1 (-.f64 (exp.f64 a) b)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 (exp.f64 a) 1) 3)) 1) (+.f64 (*.f64 (+.f64 (exp.f64 a) 1) (+.f64 (exp.f64 a) 1)) (*.f64 b (-.f64 b (+.f64 (exp.f64 a) 1)))))
(/.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 (-.f64 b (exp.f64 a)) -1) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
(/.f64 (+.f64 (pow.f64 b 3) (pow.f64 (+.f64 2 (expm1.f64 a)) 3)) (fma.f64 b (+.f64 b (-.f64 -1 (exp.f64 a))) (pow.f64 (+.f64 2 (expm1.f64 a)) 2)))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) 1) (neg.f64 (-.f64 (expm1.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) 1) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (/.f64 (sqrt.f64 (-.f64 (expm1.f64 a) b)) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (sqrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))) (sqrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (hypot.f64 (pow.f64 (exp.f64 a) 3/2) (pow.f64 (+.f64 b 1) 3/2)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))) (sqrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (hypot.f64 (pow.f64 (exp.f64 a) 3/2) (pow.f64 (+.f64 b 1) 3/2)))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (cbrt.f64 (-.f64 (expm1.f64 a) b)))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1))) 2) (/.f64 (cbrt.f64 (-.f64 (expm1.f64 a) b)) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (-.f64 (expm1.f64 a) b))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))) 2) (cbrt.f64 (-.f64 (expm1.f64 a) b))) (cbrt.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3))) (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 b 1))) 2) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 1 (exp.f64 a)))) 2) (cbrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (+.f64 2 (expm1.f64 a)))) 2) (cbrt.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))) (cbrt.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(/.f64 (*.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 1 b) (pow.f64 (+.f64 1 b) 3))) (/.f64 1 (-.f64 (expm1.f64 a) b))) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)))
(/.f64 (-.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (+.f64 b 1) (pow.f64 (+.f64 b 1) 3))) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 4) (pow.f64 (+.f64 b 1) 4)) (*.f64 (-.f64 (expm1.f64 a) b) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 1 b) 2) 3)) (/.f64 1 (-.f64 (expm1.f64 a) b))) (+.f64 (*.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 2) (+.f64 (pow.f64 (+.f64 1 b) 2) (pow.f64 (exp.f64 a) 2)))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (exp.f64 a) 2) 3) (pow.f64 (pow.f64 (+.f64 b 1) 2) 3)) (*.f64 (-.f64 (expm1.f64 a) b) (fma.f64 (exp.f64 a) (pow.f64 (exp.f64 a) 3) (*.f64 (pow.f64 (+.f64 b 1) 2) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2))))))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 6) (pow.f64 (+.f64 b 1) 6)) (-.f64 (expm1.f64 a) b)) (fma.f64 (pow.f64 (+.f64 b 1) 2) (+.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (pow.f64 (exp.f64 a) 4)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (+.f64 1 b) 3))) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 6) (pow.f64 (+.f64 b 1) 6)) (*.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 6) (pow.f64 (+.f64 b 1) 6)) (*.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)) (-.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 1 b) 3) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (+.f64 (*.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 a) 3)) (*.f64 (pow.f64 (+.f64 1 b) 3) (-.f64 (pow.f64 (+.f64 1 b) 3) (pow.f64 (exp.f64 a) 3)))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 b 1) 3) 3)) (*.f64 (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))) (+.f64 (pow.f64 (exp.f64 a) 6) (*.f64 (pow.f64 (+.f64 b 1) 3) (-.f64 (pow.f64 (+.f64 b 1) 3) (pow.f64 (exp.f64 a) 3))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 a) 3) 3) (pow.f64 (pow.f64 (+.f64 b 1) 3) 3)) (*.f64 (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)) (fma.f64 (pow.f64 (+.f64 b 1) 3) (-.f64 (pow.f64 (+.f64 b 1) 3) (pow.f64 (exp.f64 a) 3)) (pow.f64 (exp.f64 a) 6))))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) 1) (-.f64 (expm1.f64 a) b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (sqrt.f64 (-.f64 (expm1.f64 a) b))) (sqrt.f64 (-.f64 (expm1.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (*.f64 (cbrt.f64 (-.f64 (expm1.f64 a) b)) (cbrt.f64 (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (-.f64 (expm1.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(/.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (+.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (exp.f64 a)))) (-.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (+.f64 1 b))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (*.f64 (-.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (+.f64 b 1))) (+.f64 (sqrt.f64 (+.f64 b 1)) (sqrt.f64 (exp.f64 a)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 b 1) 2)) (*.f64 (+.f64 (sqrt.f64 (+.f64 b 1)) (sqrt.f64 (exp.f64 a))) (-.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (+.f64 b 1)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) 1) (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(/.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(/.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 1)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (sqrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 2)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (cbrt.f64 (+.f64 (exp.f64 a) (+.f64 1 b))) 3)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3) 1/3)
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (E.f64) (log1p.f64 (+.f64 (exp.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(pow.f64 (exp.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(neg.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) (pow.f64 (+.f64 1 b) 2)) (neg.f64 (-.f64 (expm1.f64 a) b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(neg.f64 (/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 1 b) 3)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 b) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) 1) (+.f64 (pow.f64 (+.f64 b 1) 2) (*.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b))))
(/.f64 (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (+.f64 b 1) 3)) (fma.f64 (exp.f64 a) (-.f64 (expm1.f64 a) b) (pow.f64 (+.f64 b 1) 2)))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 2))
(sqrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 b 1)) 2))
(fabs.f64 (+.f64 b (+.f64 1 (exp.f64 a))))
(fabs.f64 (+.f64 b (+.f64 2 (expm1.f64 a))))
(log.f64 (exp.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(cbrt.f64 (pow.f64 (+.f64 (exp.f64 a) (+.f64 1 b)) 3))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(expm1.f64 (log.f64 (+.f64 (+.f64 2 b) (exp.f64 a))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(exp.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 a) (+.f64 1 b))))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(fma.f64 1 (exp.f64 a) (+.f64 1 b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(fma.f64 1 (+.f64 1 b) (exp.f64 a))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(fma.f64 (sqrt.f64 (+.f64 1 b)) (sqrt.f64 (+.f64 1 b)) (exp.f64 a))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) (+.f64 1 b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 b)) 2) (cbrt.f64 (+.f64 1 b)) (exp.f64 a))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.f64 (exp.f64 a)) (+.f64 1 b))
(+.f64 (exp.f64 a) (+.f64 b 1))
(+.f64 b (+.f64 1 (exp.f64 a)))
(+.f64 b (+.f64 2 (expm1.f64 a)))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.01%
(log1p.f64 (exp.f64 a))
0.01%
(+.f64 1 (exp.f64 a))
Compiler

Compiled 30 to 14 computations (53.3% saved)

eval158.0ms (1.1%)

Compiler

Compiled 9956 to 5747 computations (42.3% saved)

prune84.0ms (0.6%)

Pruning

17 alts after pruning (12 fresh and 5 done)

PrunedKeptTotal
New5169525
Fresh033
Picked011
Done044
Total51617533
Error
0.32%
Counts
533 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
49.3%
(+.f64 (*.f64 1/2 a) (log.f64 2))
1%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
1%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
40.04%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
48.25%
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
0.79%
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
2.85%
(log1p.f64 (+.f64 (exp.f64 a) b))
47.81%
(log1p.f64 (exp.f64 b))
46.9%
(log1p.f64 (exp.f64 a))
45.71%
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
48.41%
(log.f64 (+.f64 2 b))
50.48%
(log.f64 (+.f64 2 a))
45.33%
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
47.81%
(log.f64 (+.f64 1 (exp.f64 b)))
47.11%
(log.f64 (+.f64 1 (exp.f64 a)))
98.7%
(log.f64 b)
48.72%
(log.f64 2)
Compiler

Compiled 233 to 183 computations (21.5% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.01%
(log1p.f64 (exp.f64 a))
0.01%
(+.f64 1 (exp.f64 a))
0.03%
(expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))
0.78%
(log1p.f64 (+.f64 1 (exp.f64 a)))
Compiler

Compiled 45 to 25 computations (44.4% saved)

series58.0ms (0.4%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
46.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))))

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1482×add-sqr-sqrt
1466×*-un-lft-identity
1364×add-cube-cbrt
1350×add-cbrt-cube
1336×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
117526
2185926
Stop Event
node limit
Counts
2 → 51
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 (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 (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 (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 pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.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))) 3) 1/3)))) (#(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 exp.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1))))))
((#(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 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) (hypot.f64 1 (sqrt.f64 (exp.f64 a))))))) (#(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 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 1 (-.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 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))))) (#(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 (-.f64 1 (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) 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 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))))) (#(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 (+.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 (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 (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 pow.f64 (+.f64 1 (exp.f64 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) 2)))) (#(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 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)))) (#(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 exp.f64 (log1p.f64 (exp.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (exp.f64 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (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 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (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)))))

simplify62.0ms (0.4%)

Algorithm
egg-herbie
Rules
1302×associate-/l*
862×associate-/r*
762×associate-*r/
636×fma-def
634×+-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01321375
13261315
212041237
342521237
Stop Event
node limit
Counts
75 → 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 (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 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) (sqrt.f64 (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))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2) (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 3) 1/3)
(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)))))
(exp.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1))
(+.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 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) (hypot.f64 1 (sqrt.f64 (exp.f64 a))))
(*.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 (-.f64 1 (pow.f64 (exp.f64 a) 2)) (/.f64 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 1 (/.f64 (-.f64 1 (exp.f64 a)) (-.f64 1 (pow.f64 (exp.f64 a) 2))))
(/.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) 2)) (-.f64 1 (exp.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 (pow.f64 (exp.f64 a) 2) (-.f64 1 (exp.f64 a))))
(/.f64 (-.f64 (pow.f64 (exp.f64 a) 2) 1) (expm1.f64 a))
(/.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 (+.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 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 a) 2))) (neg.f64 (-.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)))))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) 2)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 a))) 3)
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(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))
(exp.f64 (log1p.f64 (exp.f64 a)))
(exp.f64 (*.f64 (log1p.f64 (exp.f64 a)) 1))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(fma.f64 1 (exp.f64 a) 1)
(fma.f64 (sqrt.f64 (exp.f64 a)) (sqrt.f64 (exp.f64 a)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 a)) 2) (cbrt.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 (fma.f64 (pow.f64 a 3) 1/6 2) (fma.f64 a (*.f64 a 1/2) 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 1 (exp.f64 a))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.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 (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 (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)))
(pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 1)
(log.f64 (+.f64 2 (exp.f64 a)))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 2)
(log.f64 (+.f64 2 (exp.f64 a)))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 3)
(log.f64 (+.f64 2 (exp.f64 a)))
(pow.f64 (pow.f64 (log.f64 (+.f64 2 (exp.f64 a))) 3) 1/3)
(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)))
(exp.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))))
(log.f64 (+.f64 2 (exp.f64 a)))
(exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 2 (exp.f64 a)))) 1))
(log.f64 (+.f64 2 (exp.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 (-.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 (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 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) (hypot.f64 1 (sqrt.f64 (exp.f64 a))))
(+.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 (-.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 (+.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 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 (-.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 (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))
(/.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 (+.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 -1 (pow.f64 (+.f64 2 (exp.f64 a)) 3)) (+.f64 1 (*.f64 (+.f64 2 (exp.f64 a)) (+.f64 (expm1.f64 a) 4))))
(/.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 (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))
(pow.f64 (+.f64 1 (exp.f64 a)) 1)
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 a))) 2)
(+.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 (pow.f64 (+.f64 1 (exp.f64 a)) 3) 1/3)
(+.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))
(exp.f64 (log1p.f64 (exp.f64 a)))
(exp.f64 (*.f64 (log1p.f64 (exp.f64 a)) 1))
(exp.f64 (log1p.f64 (exp.f64 a)))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 a))))
(+.f64 (exp.f64 a) 1)
(+.f64 2 (expm1.f64 a))
(fma.f64 1 (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))
(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))

localize3.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.01%
(+.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
2.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))

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1848×add-sqr-sqrt
1824×*-un-lft-identity
1708×add-cube-cbrt
1692×add-cbrt-cube
182×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
118813
2228213
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 a) (log.f64 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/4 (*.f64 a a)) (-.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 (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 (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 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2)) (/.f64 1 (-.f64 (*.f64 1/2 a) (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (/.f64 1 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/2 a) (log.f64 2)) (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))) (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 1/2 (*.f64 a (log.f64 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 1/4 (*.f64 a a))) (-.f64 (log.f64 2) (*.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2))) (neg.f64 (-.f64 (*.f64 1/2 a) (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3))) (neg.f64 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.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 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) 2)))) (#(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 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3) 1/3)))) (#(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 log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 a (log.f64 2)))))))) (#(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 exp.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))) 1))))) (#(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 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 (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))))) (#(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 (cbrt.f64 (*.f64 1/4 (*.f64 a a))) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))))))

simplify64.0ms (0.4%)

Algorithm
egg-herbie
Rules
1238×associate-*r*
1134×associate-/r*
1022×associate-*l*
686×associate-+r+
560×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0981074
12371044
2812976
34402976
Stop Event
node limit
Counts
40 → 45
Calls
Call 1
Inputs
(log.f64 2)
(*.f64 1/2 a)
(*.f64 1/2 a)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2)))) 1)
(-.f64 (/.f64 (*.f64 1/4 (*.f64 a a)) (-.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 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) (sqrt.f64 (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 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2)) (/.f64 1 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(*.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (/.f64 1 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(/.f64 1 (/.f64 (-.f64 (*.f64 1/2 a) (log.f64 2)) (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2))))
(/.f64 1 (/.f64 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))) (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2)) (-.f64 (*.f64 1/2 a) (log.f64 2)))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 1/2 (*.f64 a (log.f64 2))))))
(/.f64 (-.f64 (pow.f64 (log.f64 2) 2) (*.f64 1/4 (*.f64 a a))) (-.f64 (log.f64 2) (*.f64 1/2 a)))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2))) (neg.f64 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (neg.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3))) (neg.f64 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(pow.f64 (fma.f64 1/2 a (log.f64 2)) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 2))
(log.f64 (*.f64 2 (pow.f64 (exp.f64 1/2) a)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 a (log.f64 2)))))
(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))))
(exp.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))) 1))
(log1p.f64 (expm1.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 (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))
(fma.f64 (pow.f64 (cbrt.f64 (log.f64 2)) 2) (cbrt.f64 (log.f64 2)) (*.f64 1/2 a))
(fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a a))) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))
Outputs
(log.f64 2)
(*.f64 1/2 a)
(*.f64 1/2 a)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2)))) 1)
(fma.f64 1/2 a (log.f64 2))
(-.f64 (/.f64 (*.f64 1/4 (*.f64 a a)) (-.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 1/4 (*.f64 a a)) (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 (*.f64 a 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)
(fma.f64 1/2 a (log.f64 2))
(*.f64 1 (fma.f64 1/2 a (log.f64 2)))
(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))))
(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))
(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))))
(fma.f64 1/2 a (log.f64 2))
(*.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2)) (/.f64 1 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (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 (*.f64 a a) -1/4 (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(*.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (/.f64 1 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 a 3) (pow.f64 (log.f64 2) 3)) 1) (fma.f64 1/4 (*.f64 a a) (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 1/8 (pow.f64 a 3) (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 1/8 (pow.f64 a 3) (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 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (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 (*.f64 a a) -1/4 (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 1 (/.f64 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))) (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 a 3) (pow.f64 (log.f64 2) 3)) 1) (fma.f64 1/4 (*.f64 a a) (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 1/8 (pow.f64 a 3) (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 1/8 (pow.f64 a 3) (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 1/4 (*.f64 a a)) (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 (*.f64 a a) -1/4 (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a)))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 a 3) (pow.f64 (log.f64 2) 3)) 1) (fma.f64 1/4 (*.f64 a a) (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 1/8 (pow.f64 a 3) (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 1/8 (pow.f64 a 3) (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 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3)) (+.f64 (pow.f64 (log.f64 2) 2) (-.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 1/2 (*.f64 a (log.f64 2))))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 a 3) (pow.f64 (log.f64 2) 3)) 1) (fma.f64 1/4 (*.f64 a a) (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 1/8 (pow.f64 a 3) (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 1/8 (pow.f64 a 3) (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 (pow.f64 (log.f64 2) 2) (*.f64 1/4 (*.f64 a a))) (-.f64 (log.f64 2) (*.f64 1/2 a)))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (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 (*.f64 a a) -1/4 (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 (neg.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (pow.f64 (log.f64 2) 2))) (neg.f64 (-.f64 (*.f64 1/2 a) (log.f64 2))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 a a)) (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 (*.f64 a a) -1/4 (pow.f64 (log.f64 2) 2)) (fma.f64 a -1/2 (log.f64 2)))
(/.f64 (neg.f64 (+.f64 (*.f64 1/8 (pow.f64 a 3)) (pow.f64 (log.f64 2) 3))) (neg.f64 (+.f64 (*.f64 1/4 (*.f64 a a)) (*.f64 (log.f64 2) (-.f64 (log.f64 2) (*.f64 1/2 a))))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 a 3) (pow.f64 (log.f64 2) 3)) 1) (fma.f64 1/4 (*.f64 a a) (*.f64 (log.f64 2) (+.f64 (log.f64 2) (*.f64 -1/2 a)))))
(/.f64 (fma.f64 1/8 (pow.f64 a 3) (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 1/8 (pow.f64 a 3) (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))))
(pow.f64 (fma.f64 1/2 a (log.f64 2)) 1)
(fma.f64 1/2 a (log.f64 2))
(pow.f64 (sqrt.f64 (fma.f64 1/2 a (log.f64 2))) 2)
(fma.f64 1/2 a (log.f64 2))
(pow.f64 (cbrt.f64 (fma.f64 1/2 a (log.f64 2))) 3)
(fma.f64 1/2 a (log.f64 2))
(pow.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3) 1/3)
(fma.f64 1/2 a (log.f64 2))
(sqrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 2))
(fma.f64 1/2 a (log.f64 2))
(log.f64 (*.f64 2 (pow.f64 (exp.f64 1/2) a)))
(fma.f64 1/2 a (log.f64 2))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 a (log.f64 2)))))
(fma.f64 1/2 a (log.f64 2))
(cbrt.f64 (pow.f64 (fma.f64 1/2 a (log.f64 2)) 3))
(fma.f64 1/2 a (log.f64 2))
(expm1.f64 (log1p.f64 (fma.f64 1/2 a (log.f64 2))))
(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))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 a (log.f64 2))) 1))
(fma.f64 1/2 a (log.f64 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 a (log.f64 2))))
(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/2 a (log.f64 2))
(fma.f64 1 (*.f64 1/2 a) (log.f64 2))
(fma.f64 1/2 a (log.f64 2))
(fma.f64 1 (log.f64 2) (*.f64 1/2 a))
(fma.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 1/2 a (log.f64 2))
(fma.f64 (sqrt.f64 (*.f64 1/2 a)) (sqrt.f64 (*.f64 1/2 a)) (log.f64 2))
(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))
(fma.f64 1/2 a (log.f64 2))
(fma.f64 (cbrt.f64 (*.f64 1/4 (*.f64 a a))) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))
(fma.f64 (cbrt.f64 (*.f64 a (*.f64 a 1/4))) (cbrt.f64 (*.f64 1/2 a)) (log.f64 2))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.02%
(+.f64 1 (exp.f64 b))
0.8%
(log.f64 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 15 to 9 computations (40% saved)

series23.0ms (0.2%)

Counts
2 → 8
Calls

6 calls:

TimeVariablePointExpression
11.0ms
b
@inf
(log.f64 (+.f64 1 (exp.f64 b)))
11.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
(+.f64 1 (exp.f64 b))

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1434×add-sqr-sqrt
1418×*-un-lft-identity
1318×add-cube-cbrt
1304×add-cbrt-cube
1290×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
115320
2177020
Stop Event
node limit
Counts
2 → 54
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 (hypot.f64 1 (sqrt.f64 (exp.f64 b)))) (log.f64 (hypot.f64 1 (sqrt.f64 (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 (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 (+.f64 1 (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 (log1p.f64 (exp.f64 b)) 1)))) (#(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 (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 pow.f64 (log1p.f64 (exp.f64 b)) 1)))) (#(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 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)))) (#(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 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 exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (log1p.f64 (exp.f64 b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x 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 (hypot.f64 1 (sqrt.f64 (exp.f64 b))) (hypot.f64 1 (sqrt.f64 (exp.f64 b))))))) (#(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 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.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 1 (/.f64 (-.f64 1 (exp.f64 b)) (-.f64 1 (pow.f64 (exp.f64 b) 2))))))) (#(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 (-.f64 1 (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) 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 (pow.f64 (exp.f64 b) 2) 1) (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 (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 pow.f64 (+.f64 1 (exp.f64 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 b))) 2)))) (#(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 (pow.f64 (+.f64 1 (exp.f64 b)) 3) 1/3)))) (#(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 (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 exp.f64 (log1p.f64 (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 fma.f64 1 (exp.f64 b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (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)))))

simplify61.0ms (0.4%)

Algorithm
egg-herbie
Rules
1374×times-frac
1146×associate-/l*
738×associate-+r+
660×associate-+l+
648×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01411286
13221180
211681000
33683976
Stop Event
node limit
Counts
62 → 91
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 (hypot.f64 1 (sqrt.f64 (exp.f64 b)))) (log.f64 (hypot.f64 1 (sqrt.f64 (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 (log.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (log.f64 (-.f64 1 (exp.f64 b))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)
(*.f64 1 (log1p.f64 (exp.f64 b)))
(*.f64 (log1p.f64 (exp.f64 b)) 1)
(*.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (log1p.f64 (exp.f64 b))))
(*.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))))
(pow.f64 (log1p.f64 (exp.f64 b)) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)
(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))))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (exp.f64 b))) 1))
(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 (hypot.f64 1 (sqrt.f64 (exp.f64 b))) (hypot.f64 1 (sqrt.f64 (exp.f64 b))))
(*.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 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (/.f64 1 (-.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 1 (/.f64 (-.f64 1 (exp.f64 b)) (-.f64 1 (pow.f64 (exp.f64 b) 2))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))) (+.f64 1 (pow.f64 (exp.f64 b) 3))))
(/.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2)) (-.f64 1 (exp.f64 b)))
(/.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 (pow.f64 (exp.f64 b) 2) 1) (expm1.f64 b))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (exp.f64 b) 2))) (neg.f64 (-.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)))))
(pow.f64 (+.f64 1 (exp.f64 b)) 1)
(pow.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 b))) 2)
(pow.f64 (cbrt.f64 (+.f64 1 (exp.f64 b))) 3)
(pow.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 3) 1/3)
(pow.f64 (E.f64) (log1p.f64 (exp.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 (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))))
(exp.f64 (log1p.f64 (exp.f64 b)))
(log1p.f64 (expm1.f64 (+.f64 1 (exp.f64 b))))
(fma.f64 1 (exp.f64 b) 1)
(fma.f64 (sqrt.f64 (exp.f64 b)) (sqrt.f64 (exp.f64 b)) 1)
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 b)) 2) (cbrt.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)))
(fma.f64 b (*.f64 b 1/8) (fma.f64 1/2 b (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))))
(+.f64 (fma.f64 1/2 (*.f64 b b) b) (fma.f64 1/6 (pow.f64 b 3) 2))
(+.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)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1)))) (log.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 (exp.f64 b) 1))))
(*.f64 3 (log.f64 (cbrt.f64 (+.f64 2 (expm1.f64 b)))))
(+.f64 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 b)))) (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 b)))))
(*.f64 2 (log.f64 (hypot.f64 1 (sqrt.f64 (exp.f64 b)))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 (exp.f64 b) 1))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 2 (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 (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 (log.f64 (neg.f64 (expm1.f64 (+.f64 b b)))) (log.f64 (neg.f64 (expm1.f64 b))))
(-.f64 (+.f64 1 (log1p.f64 (exp.f64 b))) 1)
(log1p.f64 (exp.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 (sqrt.f64 (log1p.f64 (exp.f64 b))) (sqrt.f64 (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 (pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 2) (cbrt.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 (sqrt.f64 (log1p.f64 (exp.f64 b))) 2)
(log1p.f64 (exp.f64 b))
(pow.f64 (cbrt.f64 (log1p.f64 (exp.f64 b))) 3)
(log1p.f64 (exp.f64 b))
(pow.f64 (pow.f64 (log1p.f64 (exp.f64 b)) 3) 1/3)
(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))
(exp.f64 (log.f64 (log1p.f64 (exp.f64 b))))
(log1p.f64 (exp.f64 b))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (exp.f64 b))) 1))
(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 (hypot.f64 1 (sqrt.f64 (exp.f64 b))) (hypot.f64 1 (sqrt.f64 (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 (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 (-.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 (+.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) 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 1 (/.f64 (+.f64 1 (*.f64 (exp.f64 b) (expm1.f64 b))) (+.f64 1 (pow.f64 (exp.f64 b) 3))))
(*.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) 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 (+.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 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 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) 3)) (fma.f64 (exp.f64 b) (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)
(/.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 (neg.f64 (+.f64 1 (pow.f64 (exp.f64 b) 3))) (neg.f64 (+.f64 1 (*.f64 (exp.f64 b) (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 1 (pow.f64 (exp.f64 b) 3)) (fma.f64 (exp.f64 b) (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 (hypot.f64 1 (sqrt.f64 (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 (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 (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 (E.f64) (log1p.f64 (exp.f64 b)))
(exp.f64 (log1p.f64 (exp.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))
(exp.f64 (log1p.f64 (exp.f64 b)))
(pow.f64 (E.f64) (log1p.f64 (exp.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))
(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 (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))
(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))

eval81.0ms (0.6%)

Compiler

Compiled 4644 to 2760 computations (40.6% saved)

prune53.0ms (0.4%)

Pruning

19 alts after pruning (10 fresh and 9 done)

PrunedKeptTotal
New3074311
Fresh167
Picked011
Done189
Total30919328
Error
0.32%
Counts
328 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
48.33%
(+.f64 (*.f64 1/2 b) (log.f64 2))
49.3%
(+.f64 (*.f64 1/2 a) (log.f64 2))
1%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
40.04%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 2))))
48.25%
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
97.41%
(*.f64 1/2 a)
0.79%
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
2.85%
(log1p.f64 (+.f64 (exp.f64 a) b))
47.81%
(log1p.f64 (exp.f64 b))
46.9%
(log1p.f64 (exp.f64 a))
48.24%
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
45.71%
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
48.41%
(log.f64 (+.f64 2 b))
50.48%
(log.f64 (+.f64 2 a))
45.33%
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
47.81%
(log.f64 (+.f64 1 (exp.f64 b)))
47.11%
(log.f64 (+.f64 1 (exp.f64 a)))
98.7%
(log.f64 b)
48.72%
(log.f64 2)
Compiler

Compiled 234 to 185 computations (20.9% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.01%
(log1p.f64 (+.f64 (exp.f64 a) b))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1682×add-sqr-sqrt
1666×*-un-lft-identity
1550×add-cube-cbrt
1532×add-cbrt-cube
168×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (0.4%)

Algorithm
egg-herbie
Rules
1502×associate-*r/
1292×associate-*l/
1136×associate-*r*
968×+-commutative
850×associate-*l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01171394
13061352
211411330
351481318
Stop Event
node limit
Counts
40 → 77
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 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) 1)
(*.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 a) b)))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 3)
(pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3) 1/3)
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 2))
(log.f64 (+.f64 (+.f64 (exp.f64 a) b) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 1))
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 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b))) (*.f64 (*.f64 1/2 (*.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 (*.f64 a a) (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2)))) (log.f64 (+.f64 2 b))))
(fma.f64 (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))) (*.f64 1/2 (*.f64 a a)) (+.f64 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b))))
(+.f64 (log.f64 (+.f64 2 b)) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1/2 (+.f64 2 b)) (/.f64 -1/2 (pow.f64 (+.f64 2 b) 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 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b))) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (-.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 2 (pow.f64 (+.f64 2 b) 3))) (/.f64 3 (pow.f64 (+.f64 2 b) 2)))) (*.f64 (*.f64 1/2 (*.f64 a a)) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2))))))
(+.f64 (+.f64 (log.f64 (+.f64 2 b)) (/.f64 a (+.f64 2 b))) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 2 b)) (-.f64 (/.f64 2 (pow.f64 (+.f64 2 b) 3)) (/.f64 3 (pow.f64 (+.f64 2 b) 2))))) (*.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 -1 (pow.f64 (+.f64 2 b) 2))) (*.f64 1/2 (*.f64 a a)))))
(+.f64 (/.f64 a (+.f64 2 b)) (fma.f64 1/2 (*.f64 (*.f64 a a) (-.f64 (/.f64 1 (+.f64 2 b)) (/.f64 1 (pow.f64 (+.f64 2 b) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 a 3) (+.f64 (/.f64 1 (+.f64 2 b)) (+.f64 (/.f64 2 (pow.f64 (+.f64 2 b) 3)) (/.f64 -3 (pow.f64 (+.f64 2 b) 2))))) (log.f64 (+.f64 2 b)))))
(+.f64 (/.f64 a (+.f64 2 b)) (fma.f64 (pow.f64 a 3) (+.f64 (*.f64 (+.f64 (/.f64 1 (+.f64 2 b)) (/.f64 2 (pow.f64 (+.f64 2 b) 3))) 1/6) (/.f64 -1/2 (pow.f64 (+.f64 2 b) 2))) (fma.f64 (*.f64 a a) (+.f64 (/.f64 1/2 (+.f64 2 b)) (/.f64 -1/2 (pow.f64 (+.f64 2 b) 2))) (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 (*.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 (*.f64 b b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (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 b) (pow.f64 (+.f64 1 (exp.f64 a)) 2)) (fma.f64 1/3 (pow.f64 (/.f64 b (+.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 (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 (/.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 (log.f64 b) (+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (/.f64 (exp.f64 a) b)))
(+.f64 (/.f64 1 b) (+.f64 (/.f64 (exp.f64 a) b) (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (log.f64 b))))
(+.f64 (log.f64 b) (+.f64 (/.f64 (exp.f64 a) 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 (*.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 (log.f64 b) (+.f64 (/.f64 (exp.f64 a) 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 (/.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 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b 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 1 b) (+.f64 (log.f64 -1) (-.f64 (/.f64 (exp.f64 a) b) (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 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (/.f64 1 b)) (+.f64 (log.f64 -1) (-.f64 (/.f64 (exp.f64 a) b) (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 (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 (log.f64 -1) (-.f64 (/.f64 (exp.f64 a) b) (log.f64 (/.f64 -1 b)))))
(+.f64 (fma.f64 -1/2 (/.f64 (pow.f64 (+.f64 1 (exp.f64 a)) 2) (*.f64 b b)) (log.f64 -1)) (+.f64 (fma.f64 1/3 (pow.f64 (/.f64 (+.f64 1 (exp.f64 a)) b) 3) (/.f64 1 b)) (-.f64 (/.f64 (exp.f64 a) b) (log.f64 (/.f64 -1 b)))))
(-.f64 (exp.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b)))) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 1 (log1p.f64 (+.f64 (exp.f64 a) b)))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2))
(log1p.f64 (+.f64 b (exp.f64 a)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2) (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 1)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (sqrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 2)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 3)
(log1p.f64 (+.f64 b (exp.f64 a)))
(pow.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3) 1/3)
(log1p.f64 (+.f64 b (exp.f64 a)))
(sqrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 2))
(log1p.f64 (+.f64 b (exp.f64 a)))
(log.f64 (+.f64 (+.f64 (exp.f64 a) b) 1))
(log1p.f64 (+.f64 b (exp.f64 a)))
(cbrt.f64 (pow.f64 (log1p.f64 (+.f64 (exp.f64 a) b)) 3))
(log1p.f64 (+.f64 b (exp.f64 a)))
(expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(exp.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))))
(log1p.f64 (+.f64 b (exp.f64 a)))
(exp.f64 (*.f64 (log.f64 (log1p.f64 (+.f64 (exp.f64 a) b))) 1))
(log1p.f64 (+.f64 b (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.04%
(log.f64 (+.f64 2 b))
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 2 b))
0.0ms
b
@0
(log.f64 (+.f64 2 b))
0.0ms
b
@-inf
(log.f64 (+.f64 2 b))

rewrite50.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1466×add-sqr-sqrt
1444×*-un-lft-identity
1352×add-cube-cbrt
1340×add-cbrt-cube
1328×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.3%)

Algorithm
egg-herbie
Rules
1136×distribute-lft-in
1014×distribute-rgt-in
814×associate-+r+
732×associate-*r*
568×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0105699
1251609
2827609
33253609
Stop Event
node limit
Counts
33 → 61
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 2 b)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 2 b)) 2)) (log.f64 (cbrt.f64 (+.f64 2 b))))
(+.f64 (log.f64 (sqrt.f64 (+.f64 2 b))) (log.f64 (sqrt.f64 (+.f64 2 b))))
(-.f64 (log.f64 (+.f64 8 (pow.f64 b 3))) (log.f64 (+.f64 4 (*.f64 b (-.f64 b 2)))))
(-.f64 (log.f64 (-.f64 4 (*.f64 b b))) (log.f64 (-.f64 2 b)))
(-.f64 (+.f64 1 (log.f64 (+.f64 2 b))) 1)
(*.f64 (log.f64 (+.f64 2 b)) 1)
(*.f64 1 (log.f64 (+.f64 2 b)))
(*.f64 (sqrt.f64 (log.f64 (+.f64 2 b))) (sqrt.f64 (log.f64 (+.f64 2 b))))
(*.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) 2) (cbrt.f64 (log.f64 (+.f64 2 b))))
(pow.f64 (log.f64 (+.f64 2 b)) 1)
(pow.f64 (sqrt.f64 (log.f64 (+.f64 2 b))) 2)
(pow.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) 3)
(pow.f64 (pow.f64 (log.f64 (+.f64 2 b)) 3) 1/3)
(sqrt.f64 (pow.f64 (log.f64 (+.f64 2 b)) 2))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 2 b)) 3))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 2 b))))
(exp.f64 (log.f64 (log.f64 (+.f64 2 b))))
(exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 2 b))) 1))
(log1p.f64 (-.f64 (+.f64 2 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 (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)))
(fma.f64 b (*.f64 b -1/8) (fma.f64 1/2 b (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))))
(fma.f64 1/24 (pow.f64 b 3) (fma.f64 b (*.f64 b -1/8) (fma.f64 1/2 b (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 (+.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 2 b) (+.f64 (/.f64 8/3 (pow.f64 b 3)) (/.f64 (/.f64 -2 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 (+.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 2 b) (+.f64 (/.f64 8/3 (pow.f64 b 3)) (/.f64 (/.f64 -2 b) b))))
(+.f64 0 (log.f64 (+.f64 2 b)))
(log.f64 (+.f64 2 b))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (+.f64 2 b)) 2)) (log.f64 (cbrt.f64 (+.f64 2 b))))
(+.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 2 b))) (log.f64 (sqrt.f64 (+.f64 2 b))))
(*.f64 2 (log.f64 (sqrt.f64 (+.f64 2 b))))
(-.f64 (log.f64 (+.f64 8 (pow.f64 b 3))) (log.f64 (+.f64 4 (*.f64 b (-.f64 b 2)))))
(-.f64 (log.f64 (+.f64 (pow.f64 b 3) 8)) (log.f64 (+.f64 4 (*.f64 b (+.f64 b -2)))))
(-.f64 (log.f64 (+.f64 (pow.f64 b 3) 8)) (log.f64 (fma.f64 b (+.f64 b -2) 4)))
(-.f64 (log.f64 (-.f64 4 (*.f64 b b))) (log.f64 (-.f64 2 b)))
(-.f64 (log.f64 (neg.f64 (fma.f64 b b -4))) (log.f64 (-.f64 2 b)))
(-.f64 (+.f64 1 (log.f64 (+.f64 2 b))) 1)
(log.f64 (+.f64 2 b))
(*.f64 (log.f64 (+.f64 2 b)) 1)
(log.f64 (+.f64 2 b))
(*.f64 1 (log.f64 (+.f64 2 b)))
(log.f64 (+.f64 2 b))
(*.f64 (sqrt.f64 (log.f64 (+.f64 2 b))) (sqrt.f64 (log.f64 (+.f64 2 b))))
(log.f64 (+.f64 2 b))
(*.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) 2))
(log.f64 (+.f64 2 b))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) 2) (cbrt.f64 (log.f64 (+.f64 2 b))))
(log.f64 (+.f64 2 b))
(pow.f64 (log.f64 (+.f64 2 b)) 1)
(log.f64 (+.f64 2 b))
(pow.f64 (sqrt.f64 (log.f64 (+.f64 2 b))) 2)
(log.f64 (+.f64 2 b))
(pow.f64 (cbrt.f64 (log.f64 (+.f64 2 b))) 3)
(log.f64 (+.f64 2 b))
(pow.f64 (pow.f64 (log.f64 (+.f64 2 b)) 3) 1/3)
(log.f64 (+.f64 2 b))
(sqrt.f64 (pow.f64 (log.f64 (+.f64 2 b)) 2))
(log.f64 (+.f64 2 b))
(cbrt.f64 (pow.f64 (log.f64 (+.f64 2 b)) 3))
(log.f64 (+.f64 2 b))
(expm1.f64 (log1p.f64 (log.f64 (+.f64 2 b))))
(log.f64 (+.f64 2 b))
(exp.f64 (log.f64 (log.f64 (+.f64 2 b))))
(log.f64 (+.f64 2 b))
(exp.f64 (*.f64 (log.f64 (log.f64 (+.f64 2 b))) 1))
(log.f64 (+.f64 2 b))
(log1p.f64 (-.f64 (+.f64 2 b) 1))
(log1p.f64 (+.f64 2 (-.f64 b 1)))
(log1p.f64 (+.f64 b 1))

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.01%
(*.f64 1/2 (*.f64 b b))
0.01%
(+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))
0.04%
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
Compiler

Compiled 35 to 20 computations (42.9% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite87.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1074×*-commutative
874×associate-*r/
850×distribute-lft-in
830×distribute-rgt-in
786×associate-*l/
Iterations

Useful iterations: 1 (0.0ms)

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

simplify120.0ms (0.8%)

Algorithm
egg-herbie
Rules
1212×associate-+l+
1132×associate-+r+
954×+-commutative
556×associate--r+
516×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03939115
111178111
251218111
Stop Event
node limit
Counts
173 → 243
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/12 (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 b))) (log.f64 1/2))
(+.f64 (log.f64 1/2) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 b))) (*.f64 2 (/.f64 1 b))))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 1 b))))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 1 b)))))) (*.f64 16/3 (/.f64 1 (pow.f64 b 3))))
(+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 -1 b))))
(+.f64 (log.f64 1/2) (+.f64 (*.f64 2 (/.f64 1 b)) (*.f64 -2 (log.f64 (/.f64 -1 b)))))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 -1 b))))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 -1 b)))))) (*.f64 16/3 (/.f64 1 (pow.f64 b 3))))
2
(+.f64 2 b)
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(*.f64 1/2 (pow.f64 b 2))
(+.f64 b (*.f64 1/2 (pow.f64 b 2)))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(*.f64 1/2 (pow.f64 b 2))
(+.f64 b (*.f64 1/2 (pow.f64 b 2)))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (pow.f64 b 2))
(+.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 0)
(+.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)))
(+.f64 0 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 (+.f64 0 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 (+.f64 0 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))) (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 (*.f64 1 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) (*.f64 1 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))))
(+.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1) (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1))
(+.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) 1) (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (log.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (log.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) 1)
(-.f64 (+.f64 0 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (log.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(-.f64 (+.f64 0 (log.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (log.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (+.f64 0 (exp.f64 (log1p.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))) 1)
(*.f64 2 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(*.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 1)
(*.f64 1 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(*.f64 (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(*.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2) (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 1)
(pow.f64 (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2)
(pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 3)
(pow.f64 (pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 3) 1/3)
(sqrt.f64 (pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))
(cbrt.f64 (pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 3))
(expm1.f64 (log1p.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(exp.f64 (log.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log1p.f64 (+.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 1))
(-.f64 (exp.f64 (log.f64 (+.f64 3 b))) (-.f64 1 (*.f64 b (*.f64 b 1/2))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1)
(-.f64 (exp.f64 (log1p.f64 b)) (-.f64 1 (+.f64 2 (*.f64 b (*.f64 b 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2)))) (-.f64 1 (+.f64 2 b)))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))) (/.f64 (pow.f64 b 4) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) 1/4)))
(-.f64 (/.f64 4 (-.f64 2 b)) (-.f64 (/.f64 (*.f64 b b) (-.f64 2 b)) (*.f64 b (*.f64 b 1/2))))
(-.f64 (+.f64 (+.f64 2 b) (exp.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2))))) 1)
(-.f64 (+.f64 (*.f64 b (*.f64 b 1/2)) (exp.f64 (log.f64 (+.f64 3 b)))) 1)
(-.f64 (+.f64 (*.f64 b (*.f64 b 1/2)) (/.f64 4 (-.f64 2 b))) (/.f64 (*.f64 b b) (-.f64 2 b)))
(-.f64 (+.f64 (+.f64 2 (*.f64 b (*.f64 b 1/2))) (exp.f64 (log1p.f64 b))) 1)
(*.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(*.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(*.f64 (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))
(*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))) (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (*.f64 b (*.f64 b 1/2)) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (+.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))) 3))) (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (*.f64 (pow.f64 (+.f64 2 b) 2) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))))
(/.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 1 (/.f64 1 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (*.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))))
(/.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2))))) (-.f64 (-.f64 2 b) (*.f64 b (*.f64 b 1/2))))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (*.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) 3)) (*.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (-.f64 (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))))))
(/.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 3)) (+.f64 4 (-.f64 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))) (*.f64 2 (+.f64 b (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (*.f64 (pow.f64 b 4) 1/4) 3)) (*.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (+.f64 (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (neg.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (neg.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 1 (-.f64 4 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))))) (-.f64 (-.f64 2 b) (*.f64 b (*.f64 b 1/2))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2))) (-.f64 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b)))
(/.f64 (*.f64 1 (+.f64 8 (pow.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 3))) (+.f64 4 (-.f64 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))) (*.f64 2 (+.f64 b (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (neg.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (neg.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (*.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2))))) 1) (-.f64 (-.f64 2 b) (*.f64 b (*.f64 b 1/2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) 1) (-.f64 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))) (*.f64 2 (+.f64 b (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) 1) (neg.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) 1) (neg.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (*.f64 (pow.f64 b 4) 1/4) 3)) (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))) (+.f64 (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (-.f64 (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) 1) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (*.f64 (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (+.f64 (*.f64 b (sqrt.f64 1/2)) (sqrt.f64 (+.f64 2 b)))) (-.f64 (sqrt.f64 (+.f64 2 b)) (*.f64 b (sqrt.f64 1/2))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) 1) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (*.f64 (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 3) 1/3)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2)) (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(fma.f64 1/2 (*.f64 b b) (+.f64 2 b))
(fma.f64 (*.f64 b b) 1/2 (+.f64 2 b))
(fma.f64 1 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))
(fma.f64 1 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b))
(fma.f64 (*.f64 b (sqrt.f64 1/2)) (*.f64 b (sqrt.f64 1/2)) (+.f64 2 b))
(fma.f64 (sqrt.f64 (+.f64 2 b)) (sqrt.f64 (+.f64 2 b)) (*.f64 b (*.f64 b 1/2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 b 4) 1/4)) (cbrt.f64 (*.f64 b (*.f64 b 1/2))) (+.f64 2 b))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 2 b)) 2) (cbrt.f64 (+.f64 2 b)) (*.f64 b (*.f64 b 1/2)))
(fma.f64 (*.f64 b 1/2) b (+.f64 2 b))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2)))) 1)
(pow.f64 (*.f64 b (*.f64 b 1/2)) 1)
(pow.f64 (*.f64 b (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 b (*.f64 b 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 b 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (*.f64 b 1/2)) b))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 b (*.f64 b 1/2)))))
(cbrt.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2))))
(exp.f64 (log.f64 (*.f64 b (*.f64 b 1/2))))
(log1p.f64 (expm1.f64 (*.f64 b (*.f64 b 1/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)))
(+.f64 (*.f64 1/2 b) (+.f64 (*.f64 1/8 (pow.f64 b 2)) (+.f64 (log.f64 2) (*.f64 -1/12 (pow.f64 b 3)))))
(fma.f64 1/2 b (+.f64 (fma.f64 1/8 (*.f64 b b) (log.f64 2)) (*.f64 -1/12 (pow.f64 b 3))))
(fma.f64 1/2 b (fma.f64 1/8 (*.f64 b b) (fma.f64 -1/12 (pow.f64 b 3) (log.f64 2))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 b))) (log.f64 1/2))
(fma.f64 -2 (neg.f64 (log.f64 b)) (log.f64 1/2))
(+.f64 (log.f64 1/2) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 b))) (*.f64 2 (/.f64 1 b))))
(+.f64 (log.f64 1/2) (fma.f64 -2 (neg.f64 (log.f64 b)) (/.f64 2 b)))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 1 b))))))
(+.f64 (/.f64 2 (*.f64 b b)) (+.f64 (log.f64 1/2) (fma.f64 -2 (neg.f64 (log.f64 b)) (/.f64 2 b))))
(+.f64 (log.f64 1/2) (+.f64 (fma.f64 -2 (neg.f64 (log.f64 b)) (/.f64 2 b)) (/.f64 2 (*.f64 b b))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 1 b)))))) (*.f64 16/3 (/.f64 1 (pow.f64 b 3))))
(+.f64 (/.f64 2 (*.f64 b b)) (-.f64 (+.f64 (log.f64 1/2) (fma.f64 -2 (neg.f64 (log.f64 b)) (/.f64 2 b))) (/.f64 16/3 (pow.f64 b 3))))
(+.f64 (+.f64 (log.f64 1/2) (fma.f64 -2 (neg.f64 (log.f64 b)) (/.f64 2 b))) (+.f64 (/.f64 2 (*.f64 b b)) (/.f64 -16/3 (pow.f64 b 3))))
(+.f64 (log.f64 1/2) (+.f64 (-.f64 (fma.f64 -2 (neg.f64 (log.f64 b)) (/.f64 2 b)) (/.f64 16/3 (pow.f64 b 3))) (/.f64 2 (*.f64 b b))))
(+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 -1 b))))
(fma.f64 -2 (log.f64 (/.f64 -1 b)) (log.f64 1/2))
(+.f64 (log.f64 1/2) (+.f64 (*.f64 2 (/.f64 1 b)) (*.f64 -2 (log.f64 (/.f64 -1 b)))))
(+.f64 (log.f64 1/2) (+.f64 (/.f64 2 b) (*.f64 -2 (log.f64 (/.f64 -1 b)))))
(+.f64 (log.f64 1/2) (fma.f64 -2 (log.f64 (/.f64 -1 b)) (/.f64 2 b)))
(+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 -1 b))))))
(+.f64 (/.f64 2 (*.f64 b b)) (+.f64 (+.f64 (/.f64 2 b) (log.f64 1/2)) (*.f64 -2 (log.f64 (/.f64 -1 b)))))
(+.f64 (/.f64 2 b) (+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 b)) (log.f64 1/2)) (/.f64 2 (*.f64 b b))))
(+.f64 (log.f64 1/2) (+.f64 (/.f64 2 (*.f64 b b)) (fma.f64 -2 (log.f64 (/.f64 -1 b)) (/.f64 2 b))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 b 2))) (+.f64 (*.f64 2 (/.f64 1 b)) (+.f64 (log.f64 1/2) (*.f64 -2 (log.f64 (/.f64 -1 b)))))) (*.f64 16/3 (/.f64 1 (pow.f64 b 3))))
(+.f64 (/.f64 2 (*.f64 b b)) (-.f64 (+.f64 (+.f64 (/.f64 2 b) (log.f64 1/2)) (*.f64 -2 (log.f64 (/.f64 -1 b)))) (/.f64 16/3 (pow.f64 b 3))))
(+.f64 (/.f64 2 (*.f64 b b)) (+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 b)) (log.f64 1/2)) (-.f64 (/.f64 2 b) (/.f64 16/3 (pow.f64 b 3)))))
2
(+.f64 2 b)
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(+.f64 b (*.f64 1/2 (pow.f64 b 2)))
(+.f64 b (*.f64 1/2 (*.f64 b b)))
(fma.f64 1/2 (*.f64 b b) b)
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(+.f64 b (*.f64 1/2 (pow.f64 b 2)))
(+.f64 b (*.f64 1/2 (*.f64 b b)))
(fma.f64 1/2 (*.f64 b b) b)
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(+.f64 2 (+.f64 b (*.f64 1/2 (pow.f64 b 2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(*.f64 1/2 (pow.f64 b 2))
(*.f64 1/2 (*.f64 b b))
(+.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 0)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 0 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (+.f64 0 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (+.f64 0 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))) (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (*.f64 1 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) (*.f64 1 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (*.f64 1 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))) (*.f64 1 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1) (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(+.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) 1) (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (log.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (log.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (log.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (log.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (log.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))) (log.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))
(-.f64 (exp.f64 (log1p.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) 1)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(-.f64 (+.f64 0 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (log.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (log.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (log.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))))
(-.f64 (+.f64 0 (log.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (log.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (log.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))))
(-.f64 (log.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))) (log.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))
(-.f64 (+.f64 0 (exp.f64 (log1p.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))) 1)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(*.f64 2 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(*.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 1)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(*.f64 1 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(*.f64 (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(*.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2) (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 1)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(pow.f64 (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 3)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(pow.f64 (pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 3) 1/3)
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(sqrt.f64 (pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))
(fabs.f64 (log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))))
(cbrt.f64 (pow.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 3))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(expm1.f64 (log1p.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(exp.f64 (log.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(log.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(log1p.f64 (+.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 1))
(log1p.f64 (+.f64 b (+.f64 (*.f64 1/2 (*.f64 b b)) 1)))
(log1p.f64 (+.f64 b (fma.f64 1/2 (*.f64 b b) 1)))
(-.f64 (exp.f64 (log.f64 (+.f64 3 b))) (-.f64 1 (*.f64 b (*.f64 b 1/2))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 1)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(-.f64 (exp.f64 (log1p.f64 b)) (-.f64 1 (+.f64 2 (*.f64 b (*.f64 b 1/2)))))
(-.f64 (exp.f64 (log1p.f64 b)) (-.f64 -1 (*.f64 1/2 (*.f64 b b))))
(+.f64 (fma.f64 1/2 (*.f64 b b) 2) (expm1.f64 (log1p.f64 b)))
(+.f64 1 (fma.f64 1/2 (*.f64 b b) (exp.f64 (log1p.f64 b))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2)))) (-.f64 1 (+.f64 2 b)))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))) (/.f64 (pow.f64 b 4) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) 1/4)))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(-.f64 (/.f64 4 (-.f64 2 b)) (-.f64 (/.f64 (*.f64 b b) (-.f64 2 b)) (*.f64 b (*.f64 b 1/2))))
(+.f64 (-.f64 (/.f64 4 (-.f64 2 b)) (/.f64 (*.f64 b b) (-.f64 2 b))) (*.f64 1/2 (*.f64 b b)))
(-.f64 (fma.f64 1/2 (*.f64 b b) (/.f64 4 (-.f64 2 b))) (*.f64 (/.f64 b (-.f64 2 b)) b))
(-.f64 (+.f64 (+.f64 2 b) (exp.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2))))) 1)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(-.f64 (+.f64 (*.f64 b (*.f64 b 1/2)) (exp.f64 (log.f64 (+.f64 3 b)))) 1)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(-.f64 (+.f64 (*.f64 b (*.f64 b 1/2)) (/.f64 4 (-.f64 2 b))) (/.f64 (*.f64 b b) (-.f64 2 b)))
(+.f64 (-.f64 (/.f64 4 (-.f64 2 b)) (/.f64 (*.f64 b b) (-.f64 2 b))) (*.f64 1/2 (*.f64 b b)))
(-.f64 (fma.f64 1/2 (*.f64 b b) (/.f64 4 (-.f64 2 b))) (*.f64 (/.f64 b (-.f64 2 b)) b))
(-.f64 (+.f64 (+.f64 2 (*.f64 b (*.f64 b 1/2))) (exp.f64 (log1p.f64 b))) 1)
(-.f64 (exp.f64 (log1p.f64 b)) (-.f64 -1 (*.f64 1/2 (*.f64 b b))))
(+.f64 (fma.f64 1/2 (*.f64 b b) 2) (expm1.f64 (log1p.f64 b)))
(+.f64 1 (fma.f64 1/2 (*.f64 b b) (exp.f64 (log1p.f64 b))))
(*.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 1)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 1 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(*.f64 (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(*.f64 (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))) (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (*.f64 b (*.f64 b 1/2)) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(*.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 b (*.f64 (*.f64 1/2 b) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (fma.f64 b (*.f64 1/2 (*.f64 b (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))) (pow.f64 (+.f64 2 b) 2)))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (+.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (-.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))) (+.f64 (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (-.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (*.f64 (*.f64 b b) -1/2))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (*.f64 (*.f64 b b) -1/2)))))) (fma.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)) (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))) 3))) (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (*.f64 (pow.f64 (+.f64 2 b) 2) (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) 3))) (+.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (-.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (pow.f64 (+.f64 2 b) 2)))))
(*.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (+.f64 (pow.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (*.f64 (*.f64 b b) -1/2))) 3) (pow.f64 (+.f64 2 b) 6))) (fma.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (*.f64 (*.f64 b b) -1/2))) (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (*.f64 (*.f64 b b) -1/2))) (pow.f64 (+.f64 2 b) 2)) (pow.f64 (+.f64 2 b) 4)))
(/.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(/.f64 1 (/.f64 1 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))))
(/.f64 (hypot.f64 (pow.f64 (*.f64 1/2 (*.f64 b b)) 3/2) (pow.f64 (+.f64 2 b) 3/2)) (/.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))) (hypot.f64 (pow.f64 (*.f64 1/2 (*.f64 b b)) 3/2) (pow.f64 (+.f64 2 b) 3/2))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))) (/.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (/.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)))) (/.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)))))
(*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (/.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(/.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 (/.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b)))) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(/.f64 (*.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)))) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)))) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (*.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))))
(/.f64 (-.f64 (pow.f64 (+.f64 2 b) 6) (pow.f64 (*.f64 1/2 (*.f64 b b)) 6)) (*.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 6) (*.f64 (pow.f64 (pow.f64 b 4) 3) -1/64)) (-.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2))))) (-.f64 (-.f64 2 b) (*.f64 b (*.f64 b 1/2))))
(/.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) (+.f64 b (*.f64 1/2 (*.f64 b b))))) (-.f64 (-.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/2 (*.f64 b b) b) (fma.f64 1/2 (*.f64 b b) b))) (-.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 1/2 (*.f64 b b)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (fma.f64 1/2 (*.f64 b b) -2) b))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (fma.f64 1/2 (*.f64 b b) (-.f64 -2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (*.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2))))
(/.f64 (-.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (*.f64 (pow.f64 b 4) (pow.f64 b 4)) 1/16)) (*.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b)))) (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (pow.f64 b 8) -1/16)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))) (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) 3)) (*.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))) (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (-.f64 (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (pow.f64 (*.f64 1/2 (*.f64 b b)) 3) 3)) (*.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (-.f64 (+.f64 (pow.f64 (+.f64 2 b) 6) (pow.f64 (*.f64 1/2 (*.f64 b b)) 6)) (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (*.f64 1/8 (pow.f64 (*.f64 b b) 3)) 3)) (fma.f64 (*.f64 1/8 (pow.f64 (*.f64 b b) 3)) (-.f64 (*.f64 1/8 (pow.f64 (*.f64 b b) 3)) (pow.f64 (+.f64 2 b) 3)) (pow.f64 (+.f64 2 b) 6))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 3)) (+.f64 4 (-.f64 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))) (*.f64 2 (+.f64 b (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) 3)) (+.f64 4 (*.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) (-.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/2 (*.f64 b b) b) 3)) (fma.f64 (fma.f64 1/2 (*.f64 b b) b) (+.f64 (fma.f64 1/2 (*.f64 b b) b) -2) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/2 (*.f64 b b) b) 3)) (fma.f64 (fma.f64 1/2 (*.f64 b b) b) (+.f64 -2 (fma.f64 1/2 (*.f64 b b) b)) 4))
(/.f64 (-.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (*.f64 (pow.f64 b 4) 1/4) 3)) (*.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))) (+.f64 (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (*.f64 (pow.f64 (pow.f64 b 4) 3) 1/64)) (*.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b)))) (+.f64 (+.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (*.f64 (pow.f64 b 4) (pow.f64 b 4)) 1/16)) (*.f64 (pow.f64 b 4) (*.f64 1/4 (pow.f64 (+.f64 2 b) 2))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 6) (*.f64 (pow.f64 (pow.f64 b 4) 3) -1/64)) (*.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)) (fma.f64 (pow.f64 b 4) (*.f64 1/4 (pow.f64 (+.f64 2 b) 2)) (fma.f64 (pow.f64 b 8) 1/16 (pow.f64 (+.f64 2 b) 4)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (neg.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 1/2 (*.f64 b b)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (fma.f64 1/2 (*.f64 b b) -2) b))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (fma.f64 1/2 (*.f64 b b) (-.f64 -2 b)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (neg.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (neg.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(*.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))))
(/.f64 (*.f64 1 (-.f64 4 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))))) (-.f64 (-.f64 2 b) (*.f64 b (*.f64 b 1/2))))
(/.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) (+.f64 b (*.f64 1/2 (*.f64 b b))))) (-.f64 (-.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/2 (*.f64 b b) b) (fma.f64 1/2 (*.f64 b b) b))) (-.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(/.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2))) (-.f64 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 1/2 (*.f64 b b)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (fma.f64 1/2 (*.f64 b b) -2) b))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (fma.f64 1/2 (*.f64 b b) (-.f64 -2 b)))
(/.f64 (*.f64 1 (+.f64 8 (pow.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 3))) (+.f64 4 (-.f64 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))) (*.f64 2 (+.f64 b (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) 3)) (+.f64 4 (*.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) (-.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/2 (*.f64 b b) b) 3)) (fma.f64 (fma.f64 1/2 (*.f64 b b) b) (+.f64 (fma.f64 1/2 (*.f64 b b) b) -2) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/2 (*.f64 b b) b) 3)) (fma.f64 (fma.f64 1/2 (*.f64 b b) b) (+.f64 -2 (fma.f64 1/2 (*.f64 b b) b)) 4))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (neg.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 1/2 (*.f64 b b)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (fma.f64 1/2 (*.f64 b b) -2) b))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (fma.f64 1/2 (*.f64 b b) (-.f64 -2 b)))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (neg.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (neg.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(*.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (/.f64 (sqrt.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) (sqrt.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))) (hypot.f64 (pow.f64 (*.f64 1/2 (*.f64 b b)) 3/2) (pow.f64 (+.f64 2 b) 3/2)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (/.f64 (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) (sqrt.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2) (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (/.f64 (cbrt.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)))
(*.f64 (/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (cbrt.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))) (pow.f64 (cbrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) 2))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2) (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)))
(*.f64 (/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))) (cbrt.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))) (pow.f64 (cbrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) 2))
(/.f64 (*.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2))))) 1) (-.f64 (-.f64 2 b) (*.f64 b (*.f64 b 1/2))))
(/.f64 (-.f64 4 (*.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) (+.f64 b (*.f64 1/2 (*.f64 b b))))) (-.f64 (-.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/2 (*.f64 b b) b) (fma.f64 1/2 (*.f64 b b) b))) (-.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) 1) (-.f64 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 1/2 (*.f64 b b)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (fma.f64 1/2 (*.f64 b b) -2) b))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (fma.f64 1/2 (*.f64 b b) (-.f64 -2 b)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (+.f64 b (*.f64 b (*.f64 b 1/2))) (+.f64 b (*.f64 b (*.f64 b 1/2)))) (*.f64 2 (+.f64 b (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (+.f64 8 (pow.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) 3)) (+.f64 4 (*.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) (-.f64 (+.f64 b (*.f64 1/2 (*.f64 b b))) 2))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/2 (*.f64 b b) b) 3)) (fma.f64 (fma.f64 1/2 (*.f64 b b) b) (+.f64 (fma.f64 1/2 (*.f64 b b) b) -2) 4))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/2 (*.f64 b b) b) 3)) (fma.f64 (fma.f64 1/2 (*.f64 b b) b) (+.f64 -2 (fma.f64 1/2 (*.f64 b b) b)) 4))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) 1) (neg.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (*.f64 1/2 (*.f64 b b)) (+.f64 2 b)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (-.f64 (fma.f64 1/2 (*.f64 b b) -2) b))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)) (fma.f64 1/2 (*.f64 b b) (-.f64 -2 b)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) 1) (neg.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (neg.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(*.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (/.f64 (sqrt.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) (sqrt.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))) (hypot.f64 (pow.f64 (*.f64 1/2 (*.f64 b b)) 3/2) (pow.f64 (+.f64 2 b) 3/2)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) (/.f64 (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (sqrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) (sqrt.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))) (sqrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))) (/.f64 (cbrt.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)))
(*.f64 (/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (cbrt.f64 (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))) (pow.f64 (cbrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) 2))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(/.f64 (cbrt.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)))
(*.f64 (/.f64 (cbrt.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4))) (cbrt.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))) (pow.f64 (cbrt.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b))) 2))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2)))
(/.f64 (-.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (*.f64 (pow.f64 b 4) (pow.f64 b 4)) 1/16)) (*.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b)))) (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (pow.f64 b 8) -1/16)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2))) (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (pow.f64 (*.f64 (pow.f64 b 4) 1/4) 3)) (/.f64 1 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))) (+.f64 (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 2) (pow.f64 (+.f64 2 b) 2)) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (*.f64 (pow.f64 b 4) 1/4))) (*.f64 (*.f64 (pow.f64 b 4) 1/4) (pow.f64 (+.f64 2 b) 2))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (+.f64 2 b) 2) 3) (*.f64 (pow.f64 (pow.f64 b 4) 3) 1/64)) (*.f64 (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b)))) (+.f64 (+.f64 (pow.f64 (+.f64 2 b) 4) (*.f64 (*.f64 (pow.f64 b 4) (pow.f64 b 4)) 1/16)) (*.f64 (pow.f64 b 4) (*.f64 1/4 (pow.f64 (+.f64 2 b) 2))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 6) (*.f64 (pow.f64 (pow.f64 b 4) 3) -1/64)) (*.f64 (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)) (fma.f64 (pow.f64 b 4) (*.f64 1/4 (pow.f64 (+.f64 2 b) 2)) (fma.f64 (pow.f64 b 8) 1/16 (pow.f64 (+.f64 2 b) 4)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))) (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))
(/.f64 (-.f64 (pow.f64 (+.f64 2 b) 6) (pow.f64 (*.f64 1/2 (*.f64 b b)) 6)) (*.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (-.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 6) (*.f64 (pow.f64 (pow.f64 b 4) 3) -1/64)) (-.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3)))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (+.f64 (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (+.f64 2 b) 3)) (-.f64 (*.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)))))
(/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (pow.f64 (*.f64 1/2 (*.f64 b b)) 3) 3)) (*.f64 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b)))) (-.f64 (+.f64 (pow.f64 (+.f64 2 b) 6) (pow.f64 (*.f64 1/2 (*.f64 b b)) 6)) (*.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (pow.f64 (+.f64 2 b) 3) 3) (pow.f64 (*.f64 1/8 (pow.f64 (*.f64 b b) 3)) 3)) (fma.f64 (*.f64 1/8 (pow.f64 (*.f64 b b) 3)) (-.f64 (*.f64 1/8 (pow.f64 (*.f64 b b) 3)) (pow.f64 (+.f64 2 b) 3)) (pow.f64 (+.f64 2 b) 6))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) 1) (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2)))))) (sqrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (*.f64 (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))) (cbrt.f64 (+.f64 2 (-.f64 b (*.f64 b (*.f64 b 1/2))))))
(-.f64 (/.f64 (pow.f64 (+.f64 2 b) 2) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) (*.f64 (/.f64 (pow.f64 b 4) (+.f64 2 (-.f64 b (*.f64 1/2 (*.f64 b b))))) 1/4))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (+.f64 (*.f64 b (sqrt.f64 1/2)) (sqrt.f64 (+.f64 2 b)))) (-.f64 (sqrt.f64 (+.f64 2 b)) (*.f64 b (sqrt.f64 1/2))))
(/.f64 (/.f64 (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) 1/4)) (fma.f64 b (sqrt.f64 1/2) (sqrt.f64 (+.f64 2 b)))) (-.f64 (sqrt.f64 (+.f64 2 b)) (*.f64 b (sqrt.f64 1/2))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (pow.f64 b 4) -1/4)) (fma.f64 b (sqrt.f64 1/2) (sqrt.f64 (+.f64 2 b)))) (-.f64 (sqrt.f64 (+.f64 2 b)) (*.f64 b (sqrt.f64 1/2))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) 1) (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2))))))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(/.f64 (/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 b (*.f64 b 1/2)) 3)) (*.f64 (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 b 4) 1/4) (-.f64 (pow.f64 (+.f64 2 b) 2) (*.f64 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))))))
(*.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (pow.f64 (*.f64 1/2 (*.f64 b b)) 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 b 4) 1/4 (pow.f64 (+.f64 2 b) 2)) (*.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 2 b) 3) (*.f64 1/8 (pow.f64 (*.f64 b b) 3))) (fma.f64 (pow.f64 b 4) 1/4 (*.f64 (+.f64 2 b) (-.f64 b (fma.f64 1/2 (*.f64 b b) -2)))))
(pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 1)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 2)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))) 3)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 3) 1/3)
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))) 2)) (cbrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))) (sqrt.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 2))
(fabs.f64 (+.f64 2 (fma.f64 1/2 (*.f64 b b) b)))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b)) 3))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 b b) (+.f64 2 b))))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 1/2 (*.f64 b b) (+.f64 2 b))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 (*.f64 b b) 1/2 (+.f64 2 b))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 1 (+.f64 2 b) (*.f64 b (*.f64 b 1/2)))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 1 (*.f64 b (*.f64 b 1/2)) (+.f64 2 b))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 (*.f64 b (sqrt.f64 1/2)) (*.f64 b (sqrt.f64 1/2)) (+.f64 2 b))
(+.f64 (pow.f64 (*.f64 b (sqrt.f64 1/2)) 2) (+.f64 2 b))
(+.f64 (+.f64 2 b) (pow.f64 (*.f64 b (sqrt.f64 1/2)) 2))
(+.f64 2 (+.f64 b (pow.f64 (*.f64 b (sqrt.f64 1/2)) 2)))
(fma.f64 (sqrt.f64 (+.f64 2 b)) (sqrt.f64 (+.f64 2 b)) (*.f64 b (*.f64 b 1/2)))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 b 4) 1/4)) (cbrt.f64 (*.f64 b (*.f64 b 1/2))) (+.f64 2 b))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 b 4) 1/4)) (cbrt.f64 (*.f64 1/2 (*.f64 b b))) (+.f64 2 b))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 2 b)) 2) (cbrt.f64 (+.f64 2 b)) (*.f64 b (*.f64 b 1/2)))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(fma.f64 (*.f64 b 1/2) b (+.f64 2 b))
(+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b))))
(+.f64 2 (fma.f64 1/2 (*.f64 b b) b))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2)))) 1)
(*.f64 1/2 (*.f64 b b))
(pow.f64 (*.f64 b (*.f64 b 1/2)) 1)
(*.f64 1/2 (*.f64 b b))
(pow.f64 (*.f64 b (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 b (*.f64 b 1/2))) 3)
(*.f64 1/2 (*.f64 b b))
(pow.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3) 1/3)
(*.f64 1/2 (*.f64 b b))
(sqrt.f64 (*.f64 (pow.f64 b 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (*.f64 b 1/2)) b))
(*.f64 1/2 (*.f64 b b))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 b (*.f64 b 1/2)))))
(*.f64 1/2 (*.f64 b b))
(cbrt.f64 (pow.f64 (*.f64 b (*.f64 b 1/2)) 3))
(*.f64 1/2 (*.f64 b b))
(expm1.f64 (log1p.f64 (*.f64 b (*.f64 b 1/2))))
(*.f64 1/2 (*.f64 b b))
(exp.f64 (log.f64 (*.f64 b (*.f64 b 1/2))))
(*.f64 1/2 (*.f64 b b))
(log1p.f64 (expm1.f64 (*.f64 b (*.f64 b 1/2))))
(*.f64 1/2 (*.f64 b b))

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.01%
(+.f64 1 (exp.f64 a))
Compiler

Compiled 29 to 18 computations (37.9% saved)

eval176.0ms (1.2%)

Compiler

Compiled 9604 to 6850 computations (28.7% saved)

prune72.0ms (0.5%)

Pruning

21 alts after pruning (10 fresh and 11 done)

PrunedKeptTotal
New4275432
Fresh055
Picked011
Done31013
Total43021451
Error
0.32%
Counts
451 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
48.33%
(+.f64 (*.f64 1/2 b) (log.f64 2))
49.3%
(+.f64 (*.f64 1/2 a) (log.f64 2))
1%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
40.04%
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 2))))
48.25%
(+.f64 (log.f64 2) (/.f64 b (+.f64 1 (exp.f64 a))))
97.41%
(*.f64 1/2 a)
0.79%
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
2.85%
(log1p.f64 (+.f64 (exp.f64 a) b))
48.23%
(log1p.f64 (+.f64 b (+.f64 (*.f64 1/2 (*.f64 b b)) 1)))
48.41%
(log1p.f64 (+.f64 b 1))
47.81%
(log1p.f64 (exp.f64 b))
46.9%
(log1p.f64 (exp.f64 a))
48.23%
(log.f64 (-.f64 (/.f64 4 (-.f64 2 b)) (-.f64 (/.f64 (*.f64 b b) (-.f64 2 b)) (*.f64 b (*.f64 b 1/2)))))
45.71%
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
48.23%
(log.f64 (+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b)))))
50.48%
(log.f64 (+.f64 2 a))
45.33%
(log.f64 (+.f64 1 (+.f64 (exp.f64 a) (+.f64 b (*.f64 1/2 (*.f64 b b))))))
47.11%
(log.f64 (+.f64 1 (exp.f64 a)))
98.35%
(log.f64 (*.f64 1/2 (*.f64 b b)))
98.7%
(log.f64 b)
48.72%
(log.f64 2)
Compiler

Compiled 185 to 144 computations (22.2% saved)

regimes45.0ms (0.3%)

Counts
27 → 1
Calls
Call 1
Inputs
(*.f64 1/2 a)
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 a))
(log.f64 (+.f64 2 b))
(log1p.f64 (+.f64 b 1))
(log.f64 (*.f64 1/2 (*.f64 b b)))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(log.f64 (+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b)))))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (+.f64 b (+.f64 (*.f64 1/2 (*.f64 b b)) 1)))
(log.f64 (-.f64 (/.f64 4 (-.f64 2 b)) (-.f64 (/.f64 (*.f64 b b) (-.f64 2 b)) (*.f64 b (*.f64 b 1/2)))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
(+.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)))
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 2))))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (expm1.f64 (log1p.f64 (+.f64 1 (exp.f64 a))))))
Outputs
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
Calls

6 calls:

13.0ms
a
12.0ms
b
5.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
3.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
3.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
0.79%1a
0.79%1b
0.79%1(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
0.79%1(+.f64 (exp.f64 a) (exp.f64 b))
0.79%1(exp.f64 a)
0.79%1(exp.f64 b)
Compiler

Compiled 218 to 134 computations (38.5% saved)

regimes55.0ms (0.4%)

Counts
23 → 2
Calls
Call 1
Inputs
(*.f64 1/2 a)
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 a))
(log.f64 (+.f64 2 b))
(log1p.f64 (+.f64 b 1))
(log.f64 (*.f64 1/2 (*.f64 b b)))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(log.f64 (+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b)))))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (+.f64 b (+.f64 (*.f64 1/2 (*.f64 b b)) 1)))
(log.f64 (-.f64 (/.f64 4 (-.f64 2 b)) (-.f64 (/.f64 (*.f64 b b) (-.f64 2 b)) (*.f64 b (*.f64 b 1/2)))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
(+.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)))
Outputs
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Calls

6 calls:

21.0ms
b
11.0ms
a
6.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
5.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(exp.f64 b)
Results
ErrorSegmentsBranch
2.85%1a
1.24%2b
1.26%2(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
1.26%2(+.f64 (exp.f64 a) (exp.f64 b))
2.85%1(exp.f64 a)
1.24%2(exp.f64 b)
Compiler

Compiled 181 to 116 computations (35.9% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000001152658
1.0000000303878918
Compiler

Compiled 13 to 10 computations (23.1% saved)

regimes31.0ms (0.2%)

Counts
22 → 1
Calls
Call 1
Inputs
(*.f64 1/2 a)
(log.f64 2)
(log.f64 b)
(log.f64 (+.f64 2 a))
(log.f64 (+.f64 2 b))
(log1p.f64 (+.f64 b 1))
(log.f64 (*.f64 1/2 (*.f64 b b)))
(+.f64 (*.f64 1/2 a) (log.f64 2))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(log.f64 (+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b)))))
(log.f64 (+.f64 (+.f64 2 b) (*.f64 1/2 (*.f64 b b))))
(log1p.f64 (+.f64 b (+.f64 (*.f64 1/2 (*.f64 b b)) 1)))
(log.f64 (-.f64 (/.f64 4 (-.f64 2 b)) (-.f64 (/.f64 (*.f64 b b) (-.f64 2 b)) (*.f64 b (*.f64 b 1/2)))))
(log1p.f64 (exp.f64 a))
(log1p.f64 (exp.f64 b))
(log.f64 (+.f64 1 (exp.f64 a)))
(log.f64 (+.f64 1 (exp.f64 b)))
(log1p.f64 (+.f64 (exp.f64 a) b))
(log.f64 (+.f64 (exp.f64 a) (+.f64 1 b)))
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
(+.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))))))
Outputs
(log1p.f64 (+.f64 (exp.f64 a) b))
Calls

4 calls:

11.0ms
a
10.0ms
b
3.0ms
(exp.f64 b)
3.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
2.85%1a
2.85%1b
2.85%1(exp.f64 a)
2.85%1(exp.f64 b)
Compiler

Compiled 160 to 103 computations (35.6% saved)

regimes43.0ms (0.3%)

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

4 calls:

26.0ms
b
9.0ms
a
2.0ms
(exp.f64 b)
2.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
46.9%1a
45.25%3b
46.9%1(exp.f64 a)
46.9%1(exp.f64 b)
Compiler

Compiled 119 to 81 computations (31.9% saved)

bsearch36.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
68.83508676173552
30859.30527595423
21.0ms
1.0772647773848722e-141
2.5195902679829632e-141
Results
19.0ms170×body256valid
15.0ms38×body1024valid
Compiler

Compiled 193 to 164 computations (15% saved)

regimes22.0ms (0.1%)

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

3 calls:

8.0ms
b
7.0ms
a
2.0ms
(exp.f64 a)
Results
ErrorSegmentsBranch
46.9%1a
46.9%1b
46.9%1(exp.f64 a)
Compiler

Compiled 102 to 70 computations (31.4% saved)

regimes18.0ms (0.1%)

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

2 calls:

8.0ms
a
7.0ms
b
Results
ErrorSegmentsBranch
48.23%1a
48.23%1b
Compiler

Compiled 95 to 65 computations (31.6% saved)

regimes14.0ms (0.1%)

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

2 calls:

6.0ms
a
6.0ms
b
Results
ErrorSegmentsBranch
48.33%1a
48.33%1b
Compiler

Compiled 45 to 34 computations (24.4% saved)

regimes12.0ms (0.1%)

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

2 calls:

5.0ms
a
5.0ms
b
Results
ErrorSegmentsBranch
48.41%1a
48.41%1b
Compiler

Compiled 39 to 29 computations (25.6% saved)

regimes10.0ms (0.1%)

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

2 calls:

5.0ms
a
4.0ms
b
Results
ErrorSegmentsBranch
48.41%1a
48.41%1b
Compiler

Compiled 23 to 17 computations (26.1% saved)

regimes9.0ms (0.1%)

Accuracy

Total -32.4b remaining (-104%)

Threshold costs -32.4b (-104%)

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

2 calls:

4.0ms
a
4.0ms
b
Results
ErrorSegmentsBranch
48.72%1a
48.72%1b
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
16×+-commutative
*-commutative
1-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044223
157223
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(if (<=.f64 (exp.f64 b) 4503599717442489/4503599627370496) (log1p.f64 (+.f64 (exp.f64 a) b)) (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(if (<=.f64 b 6521557777124079/3432398830065304857490950399540696608634717650071652704697231729592771591698828026061279820330727277488648155695740429018560993999858321906287014145557528576) (log1p.f64 (exp.f64 a)) (if (<=.f64 b 720) (log1p.f64 (exp.f64 b)) (+.f64 (*.f64 1/2 b) (log.f64 2))))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b)))))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(log1p.f64 (+.f64 b 1))
(log.f64 (+.f64 2 b))
(log.f64 2)
(*.f64 1/2 a)
Outputs
(log1p.f64 (+.f64 (exp.f64 a) (expm1.f64 b)))
(if (<=.f64 (exp.f64 b) 4503599717442489/4503599627370496) (log1p.f64 (+.f64 (exp.f64 a) b)) (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
(log1p.f64 (+.f64 (exp.f64 a) b))
(if (<=.f64 b 6521557777124079/3432398830065304857490950399540696608634717650071652704697231729592771591698828026061279820330727277488648155695740429018560993999858321906287014145557528576) (log1p.f64 (exp.f64 a)) (if (<=.f64 b 720) (log1p.f64 (exp.f64 b)) (+.f64 (*.f64 1/2 b) (log.f64 2))))
(if (<=.f64 b 6521557777124079/3432398830065304857490950399540696608634717650071652704697231729592771591698828026061279820330727277488648155695740429018560993999858321906287014145557528576) (log1p.f64 (exp.f64 a)) (if (<=.f64 b 720) (log1p.f64 (exp.f64 b)) (+.f64 (*.f64 b 1/2) (log.f64 2))))
(log1p.f64 (exp.f64 a))
(log.f64 (+.f64 2 (+.f64 b (*.f64 1/2 (*.f64 b b)))))
(+.f64 (*.f64 1/2 b) (log.f64 2))
(+.f64 (*.f64 b 1/2) (log.f64 2))
(log1p.f64 (+.f64 b 1))
(log.f64 (+.f64 2 b))
(log.f64 (+.f64 b 2))
(log.f64 2)
(*.f64 1/2 a)
(*.f64 a 1/2)
Compiler

Compiled 101 to 77 computations (23.8% saved)

soundness91.0ms (0.6%)

Algorithm
egg-herbie
Rules
1090×fma-def
1004×unswap-sqr
902×distribute-lft-in
844×distribute-rgt-in
516×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02002618
14992362
219822350
377112350
Stop Event
node limit
Compiler

Compiled 77 to 27 computations (64.9% saved)

end70.0ms (0.5%)

Compiler

Compiled 97 to 61 computations (37.1% saved)

Profiling

Loading profile data...