Bouland and Aaronson, Equation (26)

Time bar (total: 3.0s)

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)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-pow, time spent: 0.0ms, 0.0% of total-time

sample1.2s (40.4%)

Results
649.0ms5023×256infinite
448.0ms3232×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 436.0ms
Operation ival-mult, time spent: 208.0ms, 48.0% of total-time
Operation ival-add, time spent: 89.0ms, 20.0% of total-time
Operation ival-pow, time spent: 60.0ms, 14.0% of total-time
Operation ival-sub, time spent: 56.0ms, 13.0% of total-time
Operation const, time spent: 23.0ms, 5.0% of total-time
Bogosity

preprocess252.0ms (8.4%)

Algorithm
egg-herbie
Rules
1642×unsub-neg
1600×fma-neg
1202×sub-neg
820×fma-define
748×distribute-lft-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-b
00-0-(+.f64 (*.f64 a a) (*.f64 b b))
01(7.233816037048558e+305 1.3027442385300636e-162)0-(*.f64 4 (*.f64 b b))
00-0-(*.f64 b b)
056(1.4325248154803715e-94 9.278506521039597e+21)0-(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
00-0-(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
00-0-(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
00-0-4
00-0-2
00-0-a
00-0-1
00-0-(*.f64 a a)
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038449
199421
2233413
3700413
42734413
57202413
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))
(-.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))
(-.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))
(-.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))
(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))
(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 (+.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))
Symmetry

(abs a)

(abs b)

Compiler

Compiled 153 to 62 computations (59.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
Operation ival-mult, time spent: 17.0ms, 35.0% of total-time
Operation ival-pow, time spent: 15.0ms, 31.0% of total-time
Operation ival-add, time spent: 8.0ms, 17.0% of total-time
Operation ival-sub, time spent: 5.0ms, 10.0% of total-time
Operation const, time spent: 3.0ms, 6.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 48 to 24 computations (50% saved)

prune1.0ms (0%)

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)
Compiler

Compiled 19 to 12 computations (36.8% saved)

localize173.0ms (5.8%)

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 67 to 25 computations (62.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Operation ival-mult, time spent: 8.0ms, 41.0% of total-time
Operation ival-pow, time spent: 5.0ms, 25.0% of total-time
Operation ival-add, time spent: 4.0ms, 20.0% of total-time
Operation const, time spent: 2.0ms, 10.0% of total-time
Operation ival-sub, time spent: 1.0ms, 5.0% of total-time

series5.0ms (0.2%)

Counts
2 → 36
Calls
Call 1
Inputs
#<alt (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)>
#<alt (*.f64 4 (*.f64 b b))>
Outputs
#<alt (pow.f64 b 4)>
#<alt (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 b 4))>
#<alt (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))) (pow.f64 b 4))>
#<alt (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))) (pow.f64 b 4))>
#<alt (pow.f64 a 4)>
#<alt (*.f64 (pow.f64 a 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)))))>
#<alt (*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))>
#<alt (*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))>
#<alt (pow.f64 a 4)>
#<alt (*.f64 (pow.f64 a 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)))))>
#<alt (*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))>
#<alt (*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))>
#<alt (pow.f64 a 4)>
#<alt (+.f64 (*.f64 2 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (pow.f64 a 4))>
#<alt (+.f64 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 2 (pow.f64 a 2)) (pow.f64 b 2))) (pow.f64 a 4))>
#<alt (+.f64 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 2 (pow.f64 a 2)) (pow.f64 b 2))) (pow.f64 a 4))>
#<alt (pow.f64 b 4)>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))>
#<alt (pow.f64 b 4)>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 4 (pow.f64 b 2))>
Calls

9 calls:

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

rewrite233.0ms (7.8%)

Algorithm
batch-egg-rewrite
Rules
1264×unpow-prod-down
1146×prod-diff
706×log-prod
666×log1p-expm1-u
666×expm1-log1p-u
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01446
116241
2198735
Stop Event
node limit
Counts
2 → 75
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 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)))
(+.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)) (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)))
(+.f64 (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)) (*.f64 (pow.f64 a 2) (pow.f64 (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) 4)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (pow.f64 (hypot.f64 a b) 2)) 1))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (pow.f64 (pow.f64 (hypot.f64 a b) 8) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (hypot.f64 a b) (*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (hypot.f64 a b) (pow.f64 (*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 2)) 1))
(*.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (hypot.f64 a b)) (hypot.f64 a b))
(*.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (hypot.f64 a b)) 1) (hypot.f64 a b))
(*.f64 (pow.f64 1 1/3) (pow.f64 (hypot.f64 a b) 4))
(*.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (/.f64 1 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2)))) 2))
(*.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (/.f64 1 (-.f64 (pow.f64 a 2) (pow.f64 b 2))) 2))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 2))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 1) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 8) 1/3) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (hypot.f64 a b) 2)) 1/3) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 1/3) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) 1/3))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.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 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) 4) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4)))
(log1p.f64 (expm1.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 (log.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3))
(fma.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2) (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)))
(fma.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2) (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 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) 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)))
(log1p.f64 (expm1.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 (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))

simplify112.0ms (3.7%)

Algorithm
egg-herbie
Rules
1860×times-frac
1252×associate-*r*
1060×associate-*l*
860×fma-define
646×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02364334
14964298
212804280
354534254
Stop Event
node limit
Counts
111 → 127
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 (pow.f64 a 2) (+.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))) (pow.f64 b 4))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))) (pow.f64 b 4))
(pow.f64 a 4)
(*.f64 (pow.f64 a 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(pow.f64 a 4)
(*.f64 (pow.f64 a 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 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))
(+.f64 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 2 (pow.f64 a 2)) (pow.f64 b 2))) (pow.f64 a 4))
(+.f64 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 2 (pow.f64 a 2)) (pow.f64 b 2))) (pow.f64 a 4))
(pow.f64 b 4)
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.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 (pow.f64 b 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.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 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)))
(+.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)))
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)) (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)))
(+.f64 (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)) (*.f64 (pow.f64 a 2) (pow.f64 (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) 4)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (pow.f64 (hypot.f64 a b) 2)) 1))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (pow.f64 (pow.f64 (hypot.f64 a b) 8) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (hypot.f64 a b) (*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (hypot.f64 a b) (pow.f64 (*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 2)) 1))
(*.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (hypot.f64 a b)) (hypot.f64 a b))
(*.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (hypot.f64 a b)) 1) (hypot.f64 a b))
(*.f64 (pow.f64 1 1/3) (pow.f64 (hypot.f64 a b) 4))
(*.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (/.f64 1 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2)))) 2))
(*.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (/.f64 1 (-.f64 (pow.f64 a 2) (pow.f64 b 2))) 2))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 2))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 1) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 8) 1/3) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (hypot.f64 a b) 2)) 1/3) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 1/3) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) 1/3))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.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 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) 4) 3))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4)))
(log1p.f64 (expm1.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 (log.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3))
(fma.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2) (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)))
(fma.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2) (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)))
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 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) 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)))
(log1p.f64 (expm1.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 (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))
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 (pow.f64 a 2) (+.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))) (pow.f64 b 4))
(fma.f64 (pow.f64 a 2) (fma.f64 2 (pow.f64 b 2) (pow.f64 a 2)) (pow.f64 b 4))
(+.f64 (pow.f64 b 4) (fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))
(+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))) (pow.f64 b 4))
(fma.f64 (pow.f64 a 2) (fma.f64 2 (pow.f64 b 2) (pow.f64 a 2)) (pow.f64 b 4))
(+.f64 (pow.f64 b 4) (fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))
(pow.f64 a 4)
(*.f64 (pow.f64 a 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (/.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))))
(*.f64 (pow.f64 a 4) (fma.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)) 1))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (fma.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (fma.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(pow.f64 a 4)
(*.f64 (pow.f64 a 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (/.f64 (*.f64 2 (pow.f64 b 2)) (pow.f64 a 2))))
(*.f64 (pow.f64 a 4) (fma.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)) 1))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (fma.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2)) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 a 2))) (/.f64 (pow.f64 b 4) (pow.f64 a 4)))))
(*.f64 (pow.f64 a 4) (+.f64 1 (fma.f64 2 (/.f64 (pow.f64 b 2) (pow.f64 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 (pow.f64 b 2) (+.f64 (*.f64 2 (pow.f64 a 2)) (pow.f64 b 2))) (pow.f64 a 4))
(fma.f64 (pow.f64 a 2) (fma.f64 2 (pow.f64 b 2) (pow.f64 a 2)) (pow.f64 b 4))
(+.f64 (pow.f64 b 4) (fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))
(+.f64 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 2 (pow.f64 a 2)) (pow.f64 b 2))) (pow.f64 a 4))
(fma.f64 (pow.f64 a 2) (fma.f64 2 (pow.f64 b 2) (pow.f64 a 2)) (pow.f64 b 4))
(+.f64 (pow.f64 b 4) (fma.f64 2 (pow.f64 (*.f64 b a) 2) (pow.f64 a 4)))
(pow.f64 b 4)
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (fma.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)) 1))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (fma.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (fma.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 (pow.f64 b 4) (+.f64 1 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (fma.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)) 1))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (fma.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2)) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (+.f64 (*.f64 2 (/.f64 (pow.f64 a 2) (pow.f64 b 2))) (/.f64 (pow.f64 a 4) (pow.f64 b 4)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (fma.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))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(+.f64 0 (pow.f64 (hypot.f64 a b) 4))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(+.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(+.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(+.f64 (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)) (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(+.f64 (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)) (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(+.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 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 b a) 4))) (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 b a) 4))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (hypot.f64 b a) 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 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (hypot.f64 b a) 4)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4))) 1)
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 (hypot.f64 a b) 2))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 4) 1)
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 (hypot.f64 a b) 4) (log.f64 (exp.f64 1)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 1 (pow.f64 (hypot.f64 a b) 4))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 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 b a) 4)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 8)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 2)) (*.f64 (pow.f64 (hypot.f64 b a) 2) (cbrt.f64 (pow.f64 (hypot.f64 b a) 4))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (pow.f64 (hypot.f64 a b) 2)) 1))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 2)) (*.f64 (pow.f64 (hypot.f64 b a) 2) (cbrt.f64 (pow.f64 (hypot.f64 b a) 4))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (pow.f64 (pow.f64 (hypot.f64 a b) 8) 1/3))
(*.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 b a) 4)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 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 (cbrt.f64 (pow.f64 (hypot.f64 b a) 4)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 8)))
(*.f64 (hypot.f64 a b) (*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (hypot.f64 a b) (pow.f64 (*.f64 (hypot.f64 a b) (pow.f64 (hypot.f64 a b) 2)) 1))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (hypot.f64 a b)) (hypot.f64 a b))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 2)) (*.f64 (pow.f64 (hypot.f64 b a) 2) (cbrt.f64 (pow.f64 (hypot.f64 b a) 4))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (hypot.f64 a b)) 1) (hypot.f64 a b))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 1 1/3) (pow.f64 (hypot.f64 a b) 4))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (/.f64 1 (+.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 1 (+.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 1 (-.f64 (+.f64 (pow.f64 b 4) (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 1 (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2)))) 2))
(*.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (/.f64 1 (-.f64 (pow.f64 a 2) (pow.f64 b 2))) 2))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 2))
(*.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 b a) 4)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 8)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 1) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (*.f64 (pow.f64 (hypot.f64 a b) 2) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (pow.f64 (hypot.f64 a b) 2) (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 2)) (*.f64 (pow.f64 (hypot.f64 b a) 2) (cbrt.f64 (pow.f64 (hypot.f64 b a) 4))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(*.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 b a) 4)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 8)))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(*.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 8) 1/3) (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 (cbrt.f64 (pow.f64 (hypot.f64 b a) 4)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 8)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3))))
(*.f64 (cbrt.f64 (fabs.f64 (pow.f64 (hypot.f64 b a) 6))) (cbrt.f64 (fabs.f64 (pow.f64 (hypot.f64 b a) 6))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 6)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 6)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (pow.f64 (hypot.f64 a b) 2)) 1/3) (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 2)) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 (hypot.f64 a b) 8))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 2)) (cbrt.f64 (*.f64 (hypot.f64 b a) (pow.f64 (hypot.f64 b a) 9))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 2)) (cbrt.f64 (pow.f64 (hypot.f64 b a) 10)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8))) 1/3) (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 a b) 8) (cbrt.f64 (pow.f64 (hypot.f64 a b) 8)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (hypot.f64 b a) 4))) (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 b a) 8) (cbrt.f64 (pow.f64 (hypot.f64 b a) 8)))))
(/.f64 (*.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (*.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (pow.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) 2) (pow.f64 (/.f64 1 (-.f64 (pow.f64 a 2) (pow.f64 b 2))) 2))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (+.f64 (pow.f64 b 6) (pow.f64 a 6))) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2))) (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 a b) 2)))))
(*.f64 (pow.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) 2) (pow.f64 (/.f64 1 (+.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 1 (-.f64 (+.f64 (pow.f64 b 4) (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 1 (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 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 (pow.f64 b 6) (pow.f64 a 6)) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))) (-.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 (/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 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 b 6) (pow.f64 a 6)) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (*.f64 (+.f64 (pow.f64 a 4) (-.f64 (pow.f64 b 4) (pow.f64 (*.f64 b a) 2))) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2)))) (-.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2)))
(/.f64 (/.f64 (*.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (pow.f64 a 4) (pow.f64 b 4))) (+.f64 (pow.f64 b 4) (-.f64 (pow.f64 a 4) (pow.f64 (*.f64 b a) 2)))) (-.f64 (pow.f64 a 2) (pow.f64 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 (pow.f64 (hypot.f64 a 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 (pow.f64 (hypot.f64 a b) 2) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2))))
(*.f64 (pow.f64 (hypot.f64 b a) 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 (hypot.f64 a b) 2) (-.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 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(*.f64 (pow.f64 (hypot.f64 b a) 2) (/.f64 (-.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 (pow.f64 (hypot.f64 a 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 (pow.f64 (hypot.f64 a b) 2) (/.f64 (+.f64 (pow.f64 b 6) (pow.f64 a 6)) (-.f64 (+.f64 (pow.f64 b 4) (pow.f64 a 4)) (pow.f64 (*.f64 b a) 2))))
(*.f64 (pow.f64 (hypot.f64 b a) 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 (-.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 (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 b a) 2) (/.f64 (-.f64 (pow.f64 a 4) (pow.f64 b 4)) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))
(sqrt.f64 (pow.f64 (hypot.f64 a b) 8))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(log.f64 (exp.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 a b) 4))))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(cbrt.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(exp.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 a b) 4)) 1))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) 3))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 (hypot.f64 a b) 4) 3)) 1/3))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(fma.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2) (*.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(fma.f64 (pow.f64 b 2) (pow.f64 (hypot.f64 a b) 2) (*.f64 (pow.f64 a 2) (pow.f64 (hypot.f64 a b) 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(fma.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 b 2) (*.f64 (pow.f64 (hypot.f64 a b) 2) (pow.f64 a 2)))
(pow.f64 (hypot.f64 a b) 4)
(pow.f64 (hypot.f64 b a) 4)
(+.f64 0 (*.f64 (pow.f64 b 2) 4))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 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 (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 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (exp.f64 2) (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 b 2) 2)
(pow.f64 (*.f64 (pow.f64 b 2) 4) 1)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4)) 3)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(sqrt.f64 (pow.f64 (*.f64 b 2) 4))
(log.f64 (pow.f64 (exp.f64 4) (pow.f64 b 2)))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 b 2) 4))))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 b 2) 4)))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 b 2) 4)))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(exp.f64 (*.f64 2 (log.f64 (*.f64 b 2))))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 b 2))) 1))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 b 2) 4))) 3))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b 2) 6)) 1/3))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(*.f64 4 (pow.f64 b 2))
(pow.f64 (*.f64 b 2) 2)

eval102.0ms (3.4%)

Compiler

Compiled 3140 to 1998 computations (36.4% saved)

prune20.0ms (0.7%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1252127
Fresh000
Picked101
Done000
Total1262128
Accuracy
100.0%
Counts
128 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
87.8%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize103.0ms (3.4%)

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)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
Operation ival-mult, time spent: 15.0ms, 36.0% of total-time
Operation ival-pow, time spent: 14.0ms, 33.0% of total-time
Operation ival-add, time spent: 7.0ms, 17.0% of total-time
Operation ival-sub, time spent: 3.0ms, 7.0% of total-time
Operation const, time spent: 3.0ms, 7.0% of total-time

series2.0ms (0.1%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b)))>
Outputs
#<alt (*.f64 4 (pow.f64 b 2))>
#<alt (*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))>
#<alt (*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))>
#<alt (*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))>
#<alt (pow.f64 b 4)>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))>
#<alt (pow.f64 b 4)>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))>
#<alt (*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))>
Calls

3 calls:

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

rewrite78.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1116×unpow-prod-down
614×fma-define
570×log-prod
548×log1p-expm1-u
548×expm1-log1p-u
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031
112227
2161827
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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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))))
(log1p.f64 (expm1.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 (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))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1) 1))
(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 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (*.f64 (pow.f64 (cbrt.f64 b) 2) 4) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 8) (pow.f64 (cbrt.f64 b) 4) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) (pow.f64 b 4))
(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 (pow.f64 (cbrt.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))

simplify78.0ms (2.6%)

Algorithm
egg-herbie
Rules
962×associate-*r/
914×cancel-sign-sub-inv
766×fma-neg
708×distribute-lft-neg-in
672×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01743296
13763069
28713011
333753003
Stop Event
node limit
Counts
78 → 85
Calls
Call 1
Inputs
(*.f64 4 (pow.f64 b 2))
(*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(*.f64 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(pow.f64 b 4)
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(pow.f64 b 4)
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(-.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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 (+.f64 (pow.f64 b 8) (*.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))))
(log1p.f64 (expm1.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 (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))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))) 1) 1))
(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 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (*.f64 (pow.f64 (cbrt.f64 b) 2) 4) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 8) (pow.f64 (cbrt.f64 b) 4) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) (pow.f64 b 4))
(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 (pow.f64 (cbrt.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 (pow.f64 b 2) (+.f64 4 (pow.f64 b 2)))
(*.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)))
(*.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)))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 b 4)
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.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 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.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 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 b 4)
(*.f64 (pow.f64 b 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.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 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.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 4) (+.f64 1 (*.f64 4 (/.f64 1 (pow.f64 b 2)))))
(*.f64 (pow.f64 b 2) (fma.f64 b 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)
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.f64 (pow.f64 b 2) (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)))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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)))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(*.f64 1 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)))
(*.f64 (pow.f64 b 2) (fma.f64 b 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)))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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 (+.f64 (pow.f64 b 8) (*.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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.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 b 2) (fma.f64 b 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))))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))) (cbrt.f64 (sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))))
(*.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 (+.f64 (pow.f64 b 8) (*.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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(/.f64 (fma.f64 (pow.f64 b 6) 64 (pow.f64 b 12)) (-.f64 (+.f64 (pow.f64 b 8) (*.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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.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 (+.f64 (pow.f64 b 8) (*.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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.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)))
(/.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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(pow.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4)) 1)
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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)
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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)
(sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4))
(fabs.f64 (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)
(cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))
(pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 2)
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 b 8) (*.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 (fma.f64 (pow.f64 b 4) -16 (pow.f64 b 8)) (*.f64 (pow.f64 b 2) (fma.f64 b b -4)))
(sqrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 4))
(fabs.f64 (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))))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(expm1.f64 (log1p.f64 (fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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))))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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))
(cbrt.f64 (pow.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2)) 6))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (pow.f64 b 2) (*.f64 b 2))) 2))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 b (*.f64 b 4) (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(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 b 2) (fma.f64 b b 4))
(fma.f64 (pow.f64 b 4) 1 (pow.f64 (*.f64 b 2) 2))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 b 2) 4 (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (*.f64 b 2) 2) 1 (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 1 (pow.f64 (*.f64 b 2) 2) (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8) (*.f64 4 (pow.f64 b 2)))
(fma.f64 4 (pow.f64 b 2) (*.f64 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8)))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (*.f64 (pow.f64 (cbrt.f64 b) 2) 4) (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 b) 8) (pow.f64 (cbrt.f64 b) 4) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8) (pow.f64 (*.f64 b 2) 2))
(fma.f64 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8) (*.f64 4 (pow.f64 b 2)))
(fma.f64 4 (pow.f64 b 2) (*.f64 (pow.f64 (cbrt.f64 b) 4) (pow.f64 (cbrt.f64 b) 8)))
(fma.f64 (pow.f64 (cbrt.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)) (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) (pow.f64 b 4))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 b 2)) 2) (cbrt.f64 (*.f64 (pow.f64 b 4) 16)) (pow.f64 b 4))
(fma.f64 (pow.f64 b 3) b (pow.f64 (*.f64 b 2) 2))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 b 2) (*.f64 b 2) (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 b 4) b (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 4 (pow.f64 (cbrt.f64 b) 4)) (pow.f64 (cbrt.f64 b) 2) (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b b 4))
(fma.f64 4 (pow.f64 b 2) (pow.f64 b 4))
(fma.f64 (*.f64 (*.f64 b 4) 1) b (pow.f64 b 4))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b 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))
(*.f64 (pow.f64 b 2) (fma.f64 b 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 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (pow.f64 b 4) 5/6) (*.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)))

eval125.0ms (4.2%)

Compiler

Compiled 2787 to 2303 computations (17.4% saved)

prune19.0ms (0.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1712173
Fresh000
Picked022
Done000
Total1714175
Accuracy
100.0%
Counts
175 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.8%
(-.f64 (pow.f64 b 4) 1)
71.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
87.8%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
52.9%
(-.f64 (*.f64 4 (pow.f64 b 2)) 1)
Compiler

Compiled 42 to 34 computations (19% saved)

localize68.0ms (2.3%)

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)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
Operation ival-pow, time spent: 13.0ms, 48.0% of total-time
Operation ival-sub, time spent: 8.0ms, 30.0% of total-time
Operation ival-mult, time spent: 3.0ms, 11.0% of total-time
Operation const, time spent: 2.0ms, 7.0% of total-time

series1.0ms (0%)

Counts
1 → 0
Calls
Call 1
Inputs
#<alt (*.f64 4 (pow.f64 b 2))>
Outputs
Calls

3 calls:

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

rewrite164.0ms (5.5%)

Algorithm
batch-egg-rewrite
Rules
852×associate-*r*
736×associate-*l*
480×unpow-prod-down
393×log1p-expm1-u
286×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
16916
271216
3775216
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 (pow.f64 (*.f64 b 2) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(pow.f64 (*.f64 b 2) 2)
(pow.f64 (E.f64) (*.f64 2 (log.f64 (*.f64 b 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.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 (pow.f64 (*.f64 b 2) 4))
(fabs.f64 (*.f64 4 (pow.f64 b 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(expm1.f64 (log1p.f64 (*.f64 4 (pow.f64 b 2))))
(log1p.f64 (expm1.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 (pow.f64 (*.f64 b 2) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))

simplify68.0ms (2.3%)

Algorithm
egg-herbie
Rules
1266×sub-neg
924×div-sub
558×distribute-neg-in
524×distribute-rgt-neg-in
482×associate-+l-
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
080640
1155636
2377623
31684619
44738619
Stop Event
node limit
Counts
25 → 31
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 (pow.f64 (*.f64 b 2) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(pow.f64 (*.f64 b 2) 2)
(pow.f64 (E.f64) (*.f64 2 (log.f64 (*.f64 b 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.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 (pow.f64 (*.f64 b 2) 4))
(fabs.f64 (*.f64 4 (pow.f64 b 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 b 2)) 4))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(expm1.f64 (log1p.f64 (*.f64 4 (pow.f64 b 2))))
(log1p.f64 (expm1.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 (pow.f64 (*.f64 b 2) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 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 (pow.f64 (*.f64 b 2) 4) 1/2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (pow.f64 (*.f64 b 2) 6) 1/3)
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(pow.f64 (*.f64 b 2) 2)
(*.f64 4 (pow.f64 b 2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 (*.f64 b 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.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 (pow.f64 (*.f64 b 2) 4))
(*.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 (pow.f64 (*.f64 b 2) 6))
(expm1.f64 (log1p.f64 (*.f64 4 (pow.f64 b 2))))
(*.f64 4 (pow.f64 b 2))
(log1p.f64 (expm1.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 (pow.f64 (*.f64 b 2) 6)) 1/3))
(cbrt.f64 (pow.f64 (*.f64 b 2) 6))
(exp.f64 (*.f64 (log.f64 (*.f64 b 2)) 2))
(*.f64 4 (pow.f64 b 2))

eval12.0ms (0.4%)

Compiler

Compiled 467 to 416 computations (10.9% saved)

prune7.0ms (0.2%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New31031
Fresh000
Picked022
Done022
Total31435
Accuracy
100.0%
Counts
35 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.8%
(-.f64 (pow.f64 b 4) 1)
71.0%
(-.f64 (+.f64 (pow.f64 b 4) (*.f64 4 (*.f64 b b))) 1)
87.8%
(-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1)
52.9%
(-.f64 (*.f64 4 (pow.f64 b 2)) 1)
Compiler

Compiled 95 to 70 computations (26.3% saved)

regimes22.0ms (0.7%)

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 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
3.0ms
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
3.0ms
(*.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 52 to 32 computations (38.5% saved)

regimes28.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:

10.0ms
b
10.0ms
a
8.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
98.7%2a
96.7%2b
96.7%2(*.f64 b b)
Compiler

Compiled 11 to 7 computations (36.4% saved)

regimes7.0ms (0.2%)

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:

6.0ms
a
Results
AccuracySegmentsBranch
98.4%2a
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes7.0ms (0.2%)

Accuracy

Total -11.5b remaining (-61.4%)

Threshold costs -11.5b (-61.4%)

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:

4.0ms
a
3.0ms
b
Results
AccuracySegmentsBranch
70.8%1b
70.8%1a
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch15.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
564764390.6399524
7414549158.5681095
Results
7.0ms58×256valid
5.0ms37×256infinite
0.0ms256infinite
Compiler

Compiled 192 to 148 computations (22.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
Operation ival-mult, time spent: 2.0ms, 45.0% of total-time
Operation ival-add, time spent: 1.0ms, 23.0% of total-time
Operation ival-pow, time spent: 1.0ms, 23.0% of total-time
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch16.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
564764390.6399524
7414549158.5681095
Results
6.0ms49×256infinite
6.0ms46×256valid
0.0ms256valid
Compiler

Compiled 156 to 124 computations (20.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
Operation ival-mult, time spent: 2.0ms, 46.0% of total-time
Operation ival-add, time spent: 1.0ms, 23.0% of total-time
Operation ival-pow, time spent: 1.0ms, 23.0% of total-time
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

simplify7.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
033243
149243
256243
359243
462243
568243
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
(if (<=.f64 a 580000000) (-.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 3000000000) (-.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 (+.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 (*.f64 b b) 4)) 1)
(+.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)) -1)
(if (<=.f64 a 580000000) (-.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 580000000) (-.f64 (+.f64 (*.f64 (*.f64 b b) 4) (pow.f64 b 4)) 1) (-.f64 (+.f64 (*.f64 (*.f64 b b) 4) (pow.f64 a 4)) 1))
(if (<=.f64 a 580000000) (+.f64 (+.f64 (*.f64 (*.f64 b b) 4) (pow.f64 b 4)) -1) (+.f64 (+.f64 (*.f64 (*.f64 b b) 4) (pow.f64 a 4)) -1))
(if (<=.f64 a 3000000000) (-.f64 (pow.f64 b 4) 1) (-.f64 (+.f64 (pow.f64 a 4) (*.f64 4 (*.f64 b b))) 1))
(if (<=.f64 a 3000000000) (-.f64 (pow.f64 b 4) 1) (-.f64 (+.f64 (*.f64 (*.f64 b b) 4) (pow.f64 a 4)) 1))
(if (<=.f64 a 3000000000) (+.f64 (pow.f64 b 4) -1) (+.f64 (+.f64 (*.f64 (*.f64 b b) 4) (pow.f64 a 4)) -1))
(-.f64 (pow.f64 b 4) 1)
(+.f64 (pow.f64 b 4) -1)
Compiler

Compiled 76 to 55 computations (27.6% saved)

soundness0.0ms (0%)

end0.0ms (0%)

preprocess62.0ms (2.1%)

Remove

(abs b)

(abs a)

Compiler

Compiled 406 to 262 computations (35.5% saved)

Profiling

Loading profile data...