Bouland and Aaronson, Equation (26)

Time bar (total: 2.6s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 20 to 13 computations (35% saved)

sample1.1s (42.7%)

Results
716.0ms4976×body256infinite
402.0ms3280×body256valid
Bogosity

preprocess135.0ms (5.1%)

Algorithm
egg-herbie
Rules
1482×unsub-neg
1342×fma-def
1226×sub-neg
612×associate-+l-
494×distribute-lft-out
Problems
255×No Errors
(*.f64 4 (*.f64 b b))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038449
1105421
2248413
3771413
43423315
56910315
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) 2) (*.f64 4 (*.f64 (neg.f64 b) (neg.f64 b)))) 1)
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) 2) (*.f64 4 (*.f64 (neg.f64 b) (neg.f64 b)))) 1))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (*.f64 a a))) 1)
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 b b) 4) 1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 (*.f64 b b) 4 -1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 b (*.f64 b 4) -1))
(fma.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3) (fma.f64 b (*.f64 b 4) -1))
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 b b) 4) 1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 (*.f64 b b) 4 -1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 b (*.f64 b 4) -1))
(fma.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3) (fma.f64 b (*.f64 b 4) -1))
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 b b) 4) 1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 (*.f64 b b) 4 -1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 b (*.f64 b 4) -1))
(fma.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3) (fma.f64 b (*.f64 b 4) -1))
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) 2) (*.f64 4 (*.f64 (neg.f64 b) (neg.f64 b)))) 1)
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 b b) 4) 1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 (*.f64 b b) 4 -1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 b (*.f64 b 4) -1))
(fma.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3) (fma.f64 b (*.f64 b 4) -1))
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (neg.f64 a) (neg.f64 a)) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1))
(neg.f64 (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 b b) 4) 1)))
(+.f64 (neg.f64 (fma.f64 (*.f64 b b) 4 (pow.f64 (fma.f64 a a (*.f64 b b)) 2))) 1)
(-.f64 1 (fma.f64 b (*.f64 b 4) (pow.f64 (fma.f64 a a (*.f64 b b)) 2)))
(-.f64 (fma.f64 b (*.f64 b -4) 1) (pow.f64 (fma.f64 a a (*.f64 b b)) 2))
(-.f64 (fma.f64 b (*.f64 b -4) 1) (pow.f64 (hypot.f64 a b) 4))
(neg.f64 (-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 (neg.f64 b) (neg.f64 b))) 2) (*.f64 4 (*.f64 (neg.f64 b) (neg.f64 b)))) 1))
(neg.f64 (+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 b b) 4) 1)))
(+.f64 (neg.f64 (fma.f64 (*.f64 b b) 4 (pow.f64 (fma.f64 a a (*.f64 b b)) 2))) 1)
(-.f64 1 (fma.f64 b (*.f64 b 4) (pow.f64 (fma.f64 a a (*.f64 b b)) 2)))
(-.f64 (fma.f64 b (*.f64 b -4) 1) (pow.f64 (fma.f64 a a (*.f64 b b)) 2))
(-.f64 (fma.f64 b (*.f64 b -4) 1) (pow.f64 (hypot.f64 a b) 4))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) 2) (*.f64 4 (*.f64 a a))) 1)
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (-.f64 (*.f64 (*.f64 a a) 4) 1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 (*.f64 a a) 4 -1))
(+.f64 (pow.f64 (fma.f64 a a (*.f64 b b)) 2) (fma.f64 a (*.f64 a 4) -1))
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 a (*.f64 a 4) -1))
Symmetry

(abs a)

(abs b)

Compiler

Compiled 86 to 37 computations (57% saved)

eval1.0ms (0.1%)

Compiler

Compiled 75 to 39 computations (48% saved)

prune3.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
100.0%
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
99.9%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
100.0%
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 66 to 44 computations (33.3% saved)

localize91.0ms (3.5%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 4 (*.f64 b b))
99.8%
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
Compiler

Compiled 100 to 43 computations (57% saved)

series3.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
1.0ms
b
@inf
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.0ms
a
@inf
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.0ms
b
@0
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.0ms
b
@0
(*.f64 4 (*.f64 b b))

rewrite197.0ms (7.4%)

Algorithm
batch-egg-rewrite
Rules
1146×prod-diff
706×log-prod
668×log1p-expm1-u
668×expm1-log1p-u
538×pow-prod-down
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01446
116241
2196535
Stop Event
node limit
Counts
2 → 62
Calls
Call 1
Inputs
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
(*.f64 4 (*.f64 b b))
Outputs
(+.f64 0 (pow.f64 (hypot.f64 a b) 4))
(+.f64 (pow.f64 (*.f64 (hypot.f64 a b) a) 2) (pow.f64 (*.f64 (hypot.f64 a b) b) 2))
(+.f64 (pow.f64 (*.f64 (hypot.f64 a b) b) 2) (pow.f64 (*.f64 (hypot.f64 a b) a) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(+.f64 (pow.f64 (*.f64 b (hypot.f64 a b)) 2) (pow.f64 (*.f64 a (hypot.f64 a b)) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4))) 1)
(*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 (hypot.f64 a b) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 4) 1)
(*.f64 (pow.f64 (hypot.f64 a b) 4) (log.f64 (exp.f64 1)))
(*.f64 1 (pow.f64 (hypot.f64 a b) 4))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3))
(*.f64 (pow.f64 (hypot.f64 a b) 3) (hypot.f64 a b))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 5/6) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(/.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) 2))
(/.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2)))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (pow.f64 (hypot.f64 a b) 2)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (hypot.f64 a b) 2)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))
(sqrt.f64 (pow.f64 (hypot.f64 a b) 8))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a b) 4))))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 2) 6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a b))) 1) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (pow.f64 (hypot.f64 a b) 4))) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a b) 4)))
(fma.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(fma.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2) (pow.f64 (*.f64 a (hypot.f64 a b)) 2))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2) (pow.f64 (*.f64 (hypot.f64 a b) b) 2))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2) (pow.f64 (*.f64 (hypot.f64 a b) a) 2))
(+.f64 0 (*.f64 (pow.f64 b 2) 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))) (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4))) 1)
(pow.f64 (*.f64 (pow.f64 b 2) 4) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4)) 3)
(pow.f64 (pow.f64 (*.f64 b 2) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(pow.f64 (*.f64 b 2) 2)
(sqrt.f64 (pow.f64 (*.f64 b 2) 4))
(log.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 b 2) 4))))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4)))
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b 2) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 b 2) 4)))

simplify75.0ms (2.9%)

Algorithm
egg-herbie
Rules
1036×associate-*r*
918×associate-*l*
536×log-prod
512×fma-def
492×div-sub
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01813539
14113382
210643209
353433107
Stop Event
node limit
Counts
98 → 94
Calls
Call 1
Inputs
(pow.f64 b 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(pow.f64 a 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(pow.f64 a 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(pow.f64 a 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(pow.f64 b 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(pow.f64 b 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(+.f64 0 (pow.f64 (hypot.f64 a b) 4))
(+.f64 (pow.f64 (*.f64 (hypot.f64 a b) a) 2) (pow.f64 (*.f64 (hypot.f64 a b) b) 2))
(+.f64 (pow.f64 (*.f64 (hypot.f64 a b) b) 2) (pow.f64 (*.f64 (hypot.f64 a b) a) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(+.f64 (pow.f64 (*.f64 b (hypot.f64 a b)) 2) (pow.f64 (*.f64 a (hypot.f64 a b)) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4))) 1)
(*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 (hypot.f64 a b) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 4) 1)
(*.f64 (pow.f64 (hypot.f64 a b) 4) (log.f64 (exp.f64 1)))
(*.f64 1 (pow.f64 (hypot.f64 a b) 4))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3))
(*.f64 (pow.f64 (hypot.f64 a b) 3) (hypot.f64 a b))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 5/6) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(/.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) 2))
(/.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2)))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (pow.f64 (hypot.f64 a b) 2)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (hypot.f64 a b) 2)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))
(sqrt.f64 (pow.f64 (hypot.f64 a b) 8))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a b) 4))))
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 2) 6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a b))) 1) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (pow.f64 (hypot.f64 a b) 4))) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a b) 4)))
(fma.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(fma.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2) (pow.f64 (*.f64 a (hypot.f64 a b)) 2))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2) (pow.f64 (*.f64 (hypot.f64 a b) b) 2))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2) (pow.f64 (*.f64 (hypot.f64 a b) a) 2))
(+.f64 0 (*.f64 (pow.f64 b 2) 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))) (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4))) 1)
(pow.f64 (*.f64 (pow.f64 b 2) 4) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4)) 3)
(pow.f64 (pow.f64 (*.f64 b 2) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(pow.f64 (*.f64 b 2) 2)
(sqrt.f64 (pow.f64 (*.f64 b 2) 4))
(log.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 b 2) 4))))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4)))
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b 2) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 b 2) 4)))
Outputs
(pow.f64 b 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
(fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 b 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(pow.f64 a 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))
(fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(pow.f64 a 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))
(fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(pow.f64 a 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))
(fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(pow.f64 b 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
(fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 b 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(pow.f64 b 4)
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))
(fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 b 4))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (+.f64 (pow.f64 a 4) (pow.f64 b 4)))
(+.f64 (fma.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 a 4)) (pow.f64 b 4))
(fma.f64 2 (pow.f64 (*.f64 b a) 2) (+.f64 (pow.f64 b 4) (pow.f64 a 4)))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(*.f64 4 (pow.f64 b 2))
(+.f64 0 (pow.f64 (hypot.f64 a b) 4))
(pow.f64 (hypot.f64 a b) 4)
(+.f64 (pow.f64 (*.f64 (hypot.f64 a b) a) 2) (pow.f64 (*.f64 (hypot.f64 a b) b) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(+.f64 (pow.f64 (*.f64 (hypot.f64 a b) b) 2) (pow.f64 (*.f64 (hypot.f64 a b) a) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(+.f64 (pow.f64 (*.f64 b (hypot.f64 a b)) 2) (pow.f64 (*.f64 a (hypot.f64 a b)) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(pow.f64 (hypot.f64 a b) 4)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4))) 1)
(pow.f64 (hypot.f64 a b) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 (hypot.f64 a b) 2))
(pow.f64 (hypot.f64 a b) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 4) 1)
(pow.f64 (hypot.f64 a b) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 4) (log.f64 (exp.f64 1)))
(pow.f64 (hypot.f64 a b) 4)
(*.f64 1 (pow.f64 (hypot.f64 a b) 4))
(pow.f64 (hypot.f64 a b) 4)
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)))
(*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 3))
(pow.f64 (hypot.f64 a b) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 3) (hypot.f64 a b))
(pow.f64 (hypot.f64 a b) 4)
(*.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 5/6) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(/.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) 2))
(*.f64 (/.f64 (fma.f64 a a (pow.f64 b 2)) 1) (/.f64 (fma.f64 a a (pow.f64 b 2)) 1))
(/.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) 2))
(/.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))) 2))
(/.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2))) 2))
(/.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4))) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2)))))
(*.f64 (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2)))))
(*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (/.f64 (fma.f64 a a (pow.f64 b 2)) 1) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2)))))
(*.f64 (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2)))))
(*.f64 (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2)))))
(*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (/.f64 (fma.f64 a a (pow.f64 b 2)) 1) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))) (+.f64 (pow.f64 b 6) (pow.f64 a 6))))
(*.f64 (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2)))) (pow.f64 (hypot.f64 a b) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))
(/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (fma.f64 a a (pow.f64 b 2)) 1))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (pow.f64 (hypot.f64 a b) 2)) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))))
(/.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))) (+.f64 (pow.f64 b 6) (pow.f64 a 6))))
(*.f64 (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2)))) (pow.f64 (hypot.f64 a b) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 b 4) (-.f64 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (pow.f64 (hypot.f64 a b) 2)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))
(/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (/.f64 (fma.f64 a a (pow.f64 b 2)) 1))
(sqrt.f64 (pow.f64 (hypot.f64 a b) 8))
(pow.f64 (hypot.f64 a b) 4)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a b) 4))))
(pow.f64 (hypot.f64 a b) 4)
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 2) 6))
(pow.f64 (hypot.f64 a b) 4)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(exp.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1))
(pow.f64 (hypot.f64 a b) 4)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 a b))) 1) 2))
(pow.f64 (hypot.f64 a b) 4)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1) 1))
(pow.f64 (hypot.f64 a b) 4)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(pow.f64 (hypot.f64 a b) 4)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (pow.f64 (hypot.f64 a b) 4))) 1/3))
(pow.f64 (hypot.f64 a b) 4)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(fma.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(fma.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2) (pow.f64 (*.f64 a (hypot.f64 a b)) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2) (pow.f64 (*.f64 (hypot.f64 a b) b) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2) (pow.f64 (*.f64 (hypot.f64 a b) a) 2))
(+.f64 (pow.f64 (*.f64 a (hypot.f64 a b)) 2) (pow.f64 (*.f64 b (hypot.f64 a b)) 2))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (fma.f64 a a (pow.f64 b 2)))
(+.f64 0 (*.f64 (pow.f64 b 2) 4))
(*.f64 4 (pow.f64 b 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))) (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(*.f64 4 (pow.f64 b 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4))) 1)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 (pow.f64 b 2) 4) 1)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4)) 3)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (pow.f64 (*.f64 b 2) 4) 1/2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(sqrt.f64 (pow.f64 (*.f64 b 2) 4))
(*.f64 4 (pow.f64 b 2))
(log.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))
(*.f64 4 (pow.f64 b 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 b 2) 4))))
(*.f64 4 (pow.f64 b 2))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(*.f64 4 (pow.f64 b 2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4)))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1) 1))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4))) 3))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b 2) 6)) 1/3))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(*.f64 4 (pow.f64 b 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 b 2) 4)))
(*.f64 4 (pow.f64 b 2))

eval85.0ms (3.2%)

Compiler

Compiled 2201 to 1387 computations (37% saved)

prune25.0ms (1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New92294
Fresh000
Picked202
Done000
Total94296
Accuracy
100.0%
Counts
96 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
84.2%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
68.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
84.2%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 52 to 40 computations (23.1% saved)

localize122.0ms (4.6%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b)))
100.0%
(*.f64 4 (*.f64 b b))
100.0%
(*.f64 4 (*.f64 b b))
Compiler

Compiled 72 to 40 computations (44.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
b
@-inf
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b)))
0.0ms
b
@inf
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b)))
0.0ms
b
@0
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b)))

rewrite60.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
970×unpow-prod-down
672×fma-def
570×log-prod
549×log1p-expm1-u
549×expm1-log1p-u
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031
112227
2162427
Stop Event
node limit
Counts
1 → 66
Calls
Call 1
Inputs
(+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 1)
(-.f64 (/.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 2) (fma.f64 b b -4))) (/.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(*.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(*.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) (hypot.f64 (pow.f64 b 2) (*.f64 b 2)))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4)))))
(*.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (/.f64 1 (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(*.f64 (pow.f64 1 1/3) (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2) 3) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 5/2) 1/3) (cbrt.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))) (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))))
(/.f64 1 (/.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4)) (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 6) 4))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))) (neg.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))) (neg.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 16) (pow.f64 b 8)) (-.f64 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4)))
(pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(pow.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 3)
(pow.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6) 1/3)
(pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))) (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))) -1)
(pow.f64 (/.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4)) (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))) -1)
(sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4))
(log.f64 (exp.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))
(expm1.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(exp.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(exp.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))) 2))
(log1p.f64 (expm1.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 b (pow.f64 b 3) (pow.f64 (*.f64 b 2) 2))
(fma.f64 b (*.f64 b 4) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 b 4) 1 (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 b 2) 4 (pow.f64 b 4))
(fma.f64 (pow.f64 b 2) (pow.f64 b 2) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (*.f64 b 2) 2) 1 (pow.f64 b 4))
(fma.f64 1 (pow.f64 b 4) (pow.f64 (*.f64 b 2) 2))
(fma.f64 1 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (*.f64 (pow.f64 (cbrt.f64 b) 2) 4) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 8) (cbrt.f64 (pow.f64 b 4)) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 b 3) b (pow.f64 (*.f64 b 2) 2))
(fma.f64 (*.f64 b 2) (*.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 b 4) b (pow.f64 b 4))
(fma.f64 (*.f64 4 (cbrt.f64 (pow.f64 b 4))) (pow.f64 (cbrt.f64 b) 2) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) 1) b (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) (sqrt.f64 b)) (sqrt.f64 b) (pow.f64 b 4))
(fma.f64 (pow.f64 (pow.f64 b 4) 5/6) (pow.f64 (cbrt.f64 b) 2) (pow.f64 (*.f64 b 2) 2))

simplify71.0ms (2.7%)

Algorithm
egg-herbie
Rules
1390×fma-neg
1016×associate-*r*
1006×associate-*l*
764×times-frac
636×exp-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01703105
14183019
211072884
360932884
Stop Event
node limit
Counts
78 → 84
Calls
Call 1
Inputs
(*.f64 4 (pow.f64 b 2))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(pow.f64 b 4)
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(pow.f64 b 4)
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 1)
(-.f64 (/.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 2) (fma.f64 b b -4))) (/.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(*.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(*.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) (hypot.f64 (pow.f64 b 2) (*.f64 b 2)))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4)))))
(*.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (/.f64 1 (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(*.f64 (pow.f64 1 1/3) (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2) 3) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 5/2) 1/3) (cbrt.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))) (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))))
(/.f64 1 (/.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4)) (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 6) 4))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))) (neg.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))) (neg.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 16) (pow.f64 b 8)) (-.f64 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4)))
(pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(pow.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 3)
(pow.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6) 1/3)
(pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))) (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))) -1)
(pow.f64 (/.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4)) (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))) -1)
(sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4))
(log.f64 (exp.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))
(expm1.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(exp.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(exp.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))) 2))
(log1p.f64 (expm1.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 b (pow.f64 b 3) (pow.f64 (*.f64 b 2) 2))
(fma.f64 b (*.f64 b 4) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 b 4) 1 (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 b 2) 4 (pow.f64 b 4))
(fma.f64 (pow.f64 b 2) (pow.f64 b 2) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (*.f64 b 2) 2) 1 (pow.f64 b 4))
(fma.f64 1 (pow.f64 b 4) (pow.f64 (*.f64 b 2) 2))
(fma.f64 1 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (*.f64 (pow.f64 (cbrt.f64 b) 2) 4) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 8) (cbrt.f64 (pow.f64 b 4)) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 b 3) b (pow.f64 (*.f64 b 2) 2))
(fma.f64 (*.f64 b 2) (*.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 b 4) b (pow.f64 b 4))
(fma.f64 (*.f64 4 (cbrt.f64 (pow.f64 b 4))) (pow.f64 (cbrt.f64 b) 2) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) 1) b (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) (sqrt.f64 b)) (sqrt.f64 b) (pow.f64 b 4))
(fma.f64 (pow.f64 (pow.f64 b 4) 5/6) (pow.f64 (cbrt.f64 b) 2) (pow.f64 (*.f64 b 2) 2))
Outputs
(*.f64 4 (pow.f64 b 2))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 b 4)
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 b 4)
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 1)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(-.f64 (/.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 2) (fma.f64 b b -4))) (/.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (log.f64 (exp.f64 1)))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 1 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(*.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) (cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4)))
(*.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) (hypot.f64 (pow.f64 b 2) (*.f64 b 2)))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4)))))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 4 (pow.f64 b 6))))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (fma.f64 (pow.f64 b 4) 16 (*.f64 -4 (pow.f64 b 6)))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (fma.f64 -4 (pow.f64 b 6) (pow.f64 b 8))))
(*.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (/.f64 1 (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(*.f64 (pow.f64 1 1/3) (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2) 3) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 8)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 5/2) 1/3) (cbrt.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 5/2)) (cbrt.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))) (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 4 (pow.f64 b 6))))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (fma.f64 (pow.f64 b 4) 16 (*.f64 -4 (pow.f64 b 6)))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (fma.f64 -4 (pow.f64 b 6) (pow.f64 b 8))))
(/.f64 1 (/.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4)) (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 4 (pow.f64 b 6))))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (fma.f64 (pow.f64 b 4) 16 (*.f64 -4 (pow.f64 b 6)))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (fma.f64 -4 (pow.f64 b 6) (pow.f64 b 8))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 6) 4))))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 4 (pow.f64 b 6))))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (fma.f64 (pow.f64 b 4) 16 (*.f64 -4 (pow.f64 b 6)))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (fma.f64 -4 (pow.f64 b 6) (pow.f64 b 8))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))) (neg.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4)))))
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 4 (pow.f64 b 6))))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (fma.f64 (pow.f64 b 4) 16 (*.f64 -4 (pow.f64 b 6)))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (fma.f64 -4 (pow.f64 b 6) (pow.f64 b 8))))
(/.f64 (neg.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))) (neg.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4))))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(/.f64 (-.f64 (*.f64 (pow.f64 b 4) 16) (pow.f64 b 8)) (-.f64 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4)))
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 3)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4) 1/2)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6) 1/3)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 2)
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 (/.f64 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 (pow.f64 b 6) 4))) (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12))) -1)
(*.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (/.f64 1 (+.f64 (pow.f64 b 8) (-.f64 (*.f64 (pow.f64 b 4) 16) (*.f64 4 (pow.f64 b 6))))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (+.f64 (pow.f64 b 8) (fma.f64 (pow.f64 b 4) 16 (*.f64 -4 (pow.f64 b 6)))))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (fma.f64 (pow.f64 b 4) 16 (fma.f64 -4 (pow.f64 b 6) (pow.f64 b 8))))
(pow.f64 (/.f64 (*.f64 (pow.f64 b 2) (fma.f64 b b -4)) (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16))) -1)
(/.f64 (-.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) 16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (+.f64 (pow.f64 b 8) (*.f64 (pow.f64 b 4) -16)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(*.f64 (pow.f64 b 2) (/.f64 (+.f64 (pow.f64 b 4) -16) (fma.f64 b b -4)))
(sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(log.f64 (exp.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(expm1.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(exp.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(exp.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1) 1))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))) 3))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6)) 1/3))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))) 2))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(log1p.f64 (expm1.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 b (pow.f64 b 3) (pow.f64 (*.f64 b 2) 2))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 b (*.f64 b 4) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 b 4) 1 (pow.f64 (*.f64 b 2) 2))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 b 2) 4 (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 b 2) (pow.f64 b 2) (pow.f64 (*.f64 b 2) 2))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (*.f64 b 2) 2) 1 (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 1 (pow.f64 b 4) (pow.f64 (*.f64 b 2) 2))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 1 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (*.f64 4 (pow.f64 b 2))) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 b 2) 2)) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (*.f64 4 (pow.f64 b 2))) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 8) (*.f64 4 (pow.f64 b 2)))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (*.f64 (pow.f64 (cbrt.f64 b) 2) 4) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (*.f64 4 (pow.f64 (cbrt.f64 b) 2)) (pow.f64 b 4))
(fma.f64 (*.f64 4 (cbrt.f64 (pow.f64 b 4))) (pow.f64 (cbrt.f64 b) 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 4 (cbrt.f64 (pow.f64 b 4))) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 8) (cbrt.f64 (pow.f64 b 4)) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 8) (*.f64 4 (pow.f64 b 2)))
(fma.f64 (pow.f64 b 3) b (pow.f64 (*.f64 b 2) 2))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 b 2) (*.f64 b 2) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 b 4) b (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 4 (cbrt.f64 (pow.f64 b 4))) (pow.f64 (cbrt.f64 b) 2) (pow.f64 b 4))
(fma.f64 (cbrt.f64 (pow.f64 b 4)) (*.f64 4 (pow.f64 (cbrt.f64 b) 2)) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 4 (cbrt.f64 (pow.f64 b 4))) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) 1) b (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) (sqrt.f64 b)) (sqrt.f64 b) (pow.f64 b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (pow.f64 b 4) 5/6) (pow.f64 (cbrt.f64 b) 2) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (pow.f64 b 4) 5/6) (pow.f64 (cbrt.f64 b) 2) (*.f64 4 (pow.f64 b 2)))
(fma.f64 4 (pow.f64 b 2) (*.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (pow.f64 b 4) 5/6)))

eval82.0ms (3.1%)

Compiler

Compiled 2917 to 2423 computations (16.9% saved)

prune20.0ms (0.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1782180
Fresh000
Picked022
Done000
Total1784182
Accuracy
100.0%
Counts
182 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.4%
(-.f64 (pow.f64 b 4) 1)
68.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
84.2%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
48.1%
(-.f64 (*.f64 4 (pow.f64 b 2)) 1)
67.4%
(-.f64 (pow.f64 b 4) 1)
68.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
84.2%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
48.1%
(-.f64 (*.f64 4 (pow.f64 b 2)) 1)
Compiler

Compiled 84 to 68 computations (19% saved)

localize48.0ms (1.8%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 4 (pow.f64 b 2))
Compiler

Compiled 33 to 26 computations (21.2% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
b
@0
(*.f64 4 (pow.f64 b 2))
0.0ms
b
@inf
(*.f64 4 (pow.f64 b 2))
0.0ms
b
@-inf
(*.f64 4 (pow.f64 b 2))

rewrite113.0ms (4.3%)

Algorithm
batch-egg-rewrite
Rules
846×associate-*r*
744×expm1-udef
742×associate-*l*
392×unpow-prod-down
286×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
16916
270516
3760316
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 4 (pow.f64 b 2))
Outputs
(+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) -1)
(+.f64 0 (*.f64 4 (pow.f64 b 2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 8))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 2)) (log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 2)))
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 1)) (+.f64 1 (+.f64 (*.f64 4 (pow.f64 b 2)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 1)) 1) (+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 1))
(pow.f64 (*.f64 4 (pow.f64 b 2)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) 3)
(pow.f64 (*.f64 (pow.f64 b 4) 16) 1/2)
(pow.f64 (*.f64 (pow.f64 b 6) 64) 1/3)
(pow.f64 (*.f64 b 2) 2)
(pow.f64 (E.f64) (*.f64 2 (log.f64 (*.f64 b 2))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 2))) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 b 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (*.f64 b 2))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 b 2)))))
(sqrt.f64 (*.f64 (pow.f64 b 4) 16))
(fabs.f64 (*.f64 4 (pow.f64 b 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))
(cbrt.f64 (*.f64 (pow.f64 b 6) 64))
(expm1.f64 (log1p.f64 (*.f64 4 (pow.f64 b 2))))
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2)) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 b 6) 64)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(log1p.f64 (expm1.f64 (*.f64 4 (pow.f64 b 2))))

simplify39.0ms (1.5%)

Algorithm
egg-herbie
Rules
624×times-frac
572×unswap-sqr
562×fma-neg
500×associate--l+
492×associate-+l-
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085587
1207583
2561570
32473566
Stop Event
node limit
Counts
25 → 32
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) -1)
(+.f64 0 (*.f64 4 (pow.f64 b 2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 8))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 2)) (log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 2)))
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 1)) (+.f64 1 (+.f64 (*.f64 4 (pow.f64 b 2)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 1)) 1) (+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 1))
(pow.f64 (*.f64 4 (pow.f64 b 2)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) 3)
(pow.f64 (*.f64 (pow.f64 b 4) 16) 1/2)
(pow.f64 (*.f64 (pow.f64 b 6) 64) 1/3)
(pow.f64 (*.f64 b 2) 2)
(pow.f64 (E.f64) (*.f64 2 (log.f64 (*.f64 b 2))))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 2))) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 b 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (*.f64 b 2))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 b 2)))))
(sqrt.f64 (*.f64 (pow.f64 b 4) 16))
(fabs.f64 (*.f64 4 (pow.f64 b 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))
(cbrt.f64 (*.f64 (pow.f64 b 6) 64))
(expm1.f64 (log1p.f64 (*.f64 4 (pow.f64 b 2))))
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2)) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 b 6) 64)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(log1p.f64 (expm1.f64 (*.f64 4 (pow.f64 b 2))))
Outputs
(+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) -1)
(*.f64 4 (pow.f64 b 2))
(+.f64 0 (*.f64 4 (pow.f64 b 2)))
(*.f64 4 (pow.f64 b 2))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 8))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 8))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 2)) (log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 2)))
(*.f64 4 (pow.f64 b 2))
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 1)
(*.f64 4 (pow.f64 b 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 1)) (+.f64 1 (+.f64 (*.f64 4 (pow.f64 b 2)) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 4 (pow.f64 b 2) 1) 3) -1) (fma.f64 (fma.f64 4 (pow.f64 b 2) 1) (fma.f64 4 (pow.f64 b 2) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 4 (pow.f64 b 2) 1) 3)) (fma.f64 (fma.f64 4 (pow.f64 b 2) 1) (fma.f64 4 (pow.f64 b 2) 1) (fma.f64 4 (pow.f64 b 2) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 4 (pow.f64 b 2) 1) 3)) (+.f64 1 (*.f64 (fma.f64 4 (pow.f64 b 2) 1) (fma.f64 4 (pow.f64 b 2) 2))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 4 (pow.f64 b 2) 1) 3)) (fma.f64 (fma.f64 4 (pow.f64 b 2) 1) (fma.f64 4 (pow.f64 b 2) 2) 1))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) (+.f64 (*.f64 4 (pow.f64 b 2)) 1)) 1) (+.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) 1) 1))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 4 (pow.f64 b 2)) 1)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) 3)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 (pow.f64 b 4) 16) 1/2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 (pow.f64 b 6) 64) 1/3)
(cbrt.f64 (*.f64 (pow.f64 b 6) 64))
(cbrt.f64 (*.f64 64 (pow.f64 b 6)))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 (*.f64 b 2))))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 2))) (cbrt.f64 (*.f64 2 (log.f64 (*.f64 b 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 (*.f64 b 2))))) (sqrt.f64 (*.f64 2 (log.f64 (*.f64 b 2)))))
(*.f64 4 (pow.f64 b 2))
(sqrt.f64 (*.f64 (pow.f64 b 4) 16))
(*.f64 4 (pow.f64 b 2))
(fabs.f64 (*.f64 4 (pow.f64 b 2)))
(*.f64 4 (pow.f64 b 2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))
(*.f64 4 (pow.f64 b 2))
(cbrt.f64 (*.f64 (pow.f64 b 6) 64))
(cbrt.f64 (*.f64 64 (pow.f64 b 6)))
(expm1.f64 (log1p.f64 (*.f64 4 (pow.f64 b 2))))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2)) 3))
(*.f64 4 (pow.f64 b 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 b 6) 64)) 1/3))
(cbrt.f64 (*.f64 (pow.f64 b 6) 64))
(cbrt.f64 (*.f64 64 (pow.f64 b 6)))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(*.f64 4 (pow.f64 b 2))
(log1p.f64 (expm1.f64 (*.f64 4 (pow.f64 b 2))))
(*.f64 4 (pow.f64 b 2))

eval11.0ms (0.4%)

Compiler

Compiled 475 to 423 computations (10.9% saved)

prune8.0ms (0.3%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New32032
Fresh000
Picked022
Done022
Total32436
Accuracy
100.0%
Counts
36 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.4%
(-.f64 (pow.f64 b 4) 1)
68.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
84.2%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
48.1%
(-.f64 (*.f64 4 (pow.f64 b 2)) 1)
Compiler

Compiled 107 to 78 computations (27.1% saved)

regimes29.0ms (1.1%)

Counts
6 → 1
Calls
Call 1
Inputs
(-.f64 (pow.f64 b 4) 1)
(-.f64 (*.f64 4 (pow.f64 b 2)) 1)
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Outputs
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Calls

6 calls:

10.0ms
b
4.0ms
a
3.0ms
(*.f64 a a)
3.0ms
(*.f64 b b)
3.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
Results
AccuracySegmentsBranch
100.0%1a
100.0%1b
100.0%1(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
100.0%1(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
100.0%1(*.f64 a a)
100.0%1(*.f64 b b)
Compiler

Compiled 117 to 76 computations (35% saved)

regimes23.0ms (0.9%)

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

6 calls:

4.0ms
a
4.0ms
b
4.0ms
(*.f64 a a)
3.0ms
(*.f64 b b)
3.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
Results
AccuracySegmentsBranch
99.9%1a
99.9%1b
99.9%1(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
99.9%1(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
99.9%1(*.f64 a a)
99.9%1(*.f64 b b)
Compiler

Compiled 105 to 68 computations (35.2% saved)

regimes25.0ms (0.9%)

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

3 calls:

11.0ms
a
7.0ms
b
6.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
97.5%2a
96.6%2b
96.6%2(*.f64 b b)
Compiler

Compiled 47 to 34 computations (27.7% saved)

regimes10.0ms (0.4%)

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

1 calls:

9.0ms
a
Results
AccuracySegmentsBranch
96.8%2a
Compiler

Compiled 28 to 22 computations (21.4% saved)

regimes7.0ms (0.3%)

Accuracy

Total -12.5b remaining (-59.9%)

Threshold costs -12.5b (-59.9%)

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

2 calls:

3.0ms
a
3.0ms
b
Results
AccuracySegmentsBranch
67.4%1b
67.4%1a
Compiler

Compiled 20 to 16 computations (20% saved)

bsearch16.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
0.36629197981267425
7.957250252784014
Results
8.0ms61×body256valid
6.0ms51×body256infinite
Compiler

Compiled 220 to 170 computations (22.7% saved)

bsearch15.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
0.36629197981267425
7.957250252784014
Results
8.0ms69×body256valid
5.0ms43×body256infinite
Compiler

Compiled 178 to 142 computations (20.2% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Rules
18×+-commutative
10×sub-neg
*-commutative
*-rgt-identity
mul-1-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040288
155288
261288
365288
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(if (<=.f64 a 4368491638549381/9007199254740992) (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1))
(if (<=.f64 a 3602879701896397/4503599627370496) (-.f64 (pow.f64 b 4) 1) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1))
(-.f64 (pow.f64 b 4) 1)
Outputs
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(+.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) -1)
(if (<=.f64 a 4368491638549381/9007199254740992) (-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1))
(if (<=.f64 a 4368491638549381/9007199254740992) (-.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 b 4)) 1) (-.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 a 4)) 1))
(if (<=.f64 a 4368491638549381/9007199254740992) (+.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 b 4)) -1) (+.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 a 4)) -1))
(if (<=.f64 a 3602879701896397/4503599627370496) (-.f64 (pow.f64 b 4) 1) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1))
(if (<=.f64 a 3602879701896397/4503599627370496) (-.f64 (pow.f64 b 4) 1) (-.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 a 4)) 1))
(if (<=.f64 a 3602879701896397/4503599627370496) (+.f64 (pow.f64 b 4) -1) (+.f64 (+.f64 (*.f64 4 (*.f64 b b)) (pow.f64 a 4)) -1))
(-.f64 (pow.f64 b 4) 1)
(+.f64 (pow.f64 b 4) -1)
Compiler

Compiled 90 to 65 computations (27.8% saved)

soundness113.0ms (4.3%)

Rules
1482×unsub-neg
1342×fma-def
1226×sub-neg
612×associate-+l-
494×distribute-lft-out
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038449
1105421
2248413
3771413
43423315
56910315
Stop Event
node limit
Compiler

Compiled 210 to 84 computations (60% saved)

end0.0ms (0%)

preprocess77.0ms (2.9%)

Remove

(abs b)

(abs a)

Compiler

Compiled 426 to 294 computations (31% saved)

Profiling

Loading profile data...