exp2 (problem 3.3.7)

Time bar (total: 6.7s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50.4%49.6%0%0%0%0
100%50.4%0%49.6%0%0%0%1
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample4.3s (63.7%)

Results
3.0s4198×body2048valid
841.0ms2054×body1024valid
208.0ms1033×body512valid
197.0ms971×body256valid
Bogosity

preprocess239.0ms (3.5%)

Algorithm
egg-herbie
Rules
2262×fma-def
1170×distribute-lft-neg-in
932×associate-/r/
802×div-sub
632×associate-*l/
Problems
130×(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
125×No Errors
(-.f64 (exp.f64 x) 2)
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017128
145128
2104124
3252124
4547124
51117124
62905124
75714124
Stop Event
node limit
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (-.f64 (exp.f64 (neg.f64 x)) 2) (exp.f64 (neg.f64 (neg.f64 x))))
(neg.f64 (+.f64 (-.f64 (exp.f64 (neg.f64 x)) 2) (exp.f64 (neg.f64 (neg.f64 x)))))
Outputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(+.f64 (-.f64 (exp.f64 (neg.f64 x)) 2) (exp.f64 (neg.f64 (neg.f64 x))))
(+.f64 (+.f64 (exp.f64 x) -2) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(neg.f64 (+.f64 (-.f64 (exp.f64 (neg.f64 x)) 2) (exp.f64 (neg.f64 (neg.f64 x)))))
(neg.f64 (-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x))))
(-.f64 (neg.f64 (exp.f64 x)) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (-.f64 2 (exp.f64 (neg.f64 x))) (exp.f64 x))
(-.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Symmetry

(abs x)

Compiler

Compiled 32 to 18 computations (43.8% saved)

eval0.0ms (0%)

Compiler

Compiled 17 to 10 computations (41.2% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 18 to 14 computations (22.2% saved)

localize128.0ms (1.9%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.9%
(-.f64 (exp.f64 x) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 23 to 11 computations (52.2% saved)

series2.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@inf
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@-inf
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
0.0ms
x
@0
(-.f64 (exp.f64 x) 2)
0.0ms
x
@inf
(-.f64 (exp.f64 x) 2)

rewrite180.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1072×prod-diff
672×fma-def
645×log1p-expm1-u
645×expm1-log1p-u
504×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01262
115262
2219962
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) 2)
Outputs
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
64
512
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
64
512

simplify85.0ms (1.3%)

Algorithm
egg-herbie
Rules
1496×unswap-sqr
1488×distribute-lft-out
1216×distribute-rgt-out
1132×associate-*r*
1116×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069544
1132540
2257536
3746526
43466526
57703526
Stop Event
node limit
Counts
80 → 59
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
-1
(-.f64 x 1)
(-.f64 (+.f64 x (*.f64 1/2 (pow.f64 x 2))) 1)
(-.f64 (+.f64 x (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/2 (pow.f64 x 2)))) 1)
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
64
512
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
64
512
Outputs
(pow.f64 x 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2)))
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (pow.f64 x 2)))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))))
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/360 (pow.f64 x 6) (pow.f64 x 2))))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
-1
(-.f64 x 1)
(+.f64 x -1)
(-.f64 (+.f64 x (*.f64 1/2 (pow.f64 x 2))) 1)
(+.f64 x (-.f64 (*.f64 (pow.f64 x 2) 1/2) 1))
(+.f64 x (fma.f64 (pow.f64 x 2) 1/2 -1))
(fma.f64 (fma.f64 x 1/2 1) x -1)
(fma.f64 x (fma.f64 x 1/2 1) -1)
(-.f64 (+.f64 x (+.f64 (*.f64 1/6 (pow.f64 x 3)) (*.f64 1/2 (pow.f64 x 2)))) 1)
(+.f64 (+.f64 x (fma.f64 1/6 (pow.f64 x 3) (*.f64 (pow.f64 x 2) 1/2))) -1)
(+.f64 (fma.f64 1/6 (pow.f64 x 3) (*.f64 (pow.f64 x 2) 1/2)) (+.f64 x -1))
(+.f64 (fma.f64 (pow.f64 x 2) 1/2 x) (fma.f64 1/6 (pow.f64 x 3) -1))
(+.f64 x (fma.f64 (pow.f64 x 2) (fma.f64 x 1/6 1/2) -1))
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
64
512
-64
-16
-8
-4
-3
-2
-3/2
-1
-2/3
-1/2
-1/3
0
1/9
1/6
1/3
1/2
2/3
1
4/3
3/2
2
5/2
3
4
9/2
5
6
8
9
16
64
512

eval10.0ms (0.2%)

Compiler

Compiled 375 to 258 computations (31.2% saved)

prune18.0ms (0.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New51859
Fresh000
Picked011
Done000
Total51960
Accuracy
100.0%
Counts
60 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.9%
(pow.f64 x 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
97.9%
(pow.f64 x 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
Compiler

Compiled 136 to 112 computations (17.6% saved)

localize735.0ms (10.9%)

Localize:

Found 10 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
100.0%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
100.0%
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
99.9%
(*.f64 1/360 (pow.f64 x 6))
99.8%
(*.f64 1/12 (pow.f64 x 4))
100.0%
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
100.0%
(*.f64 1/20160 (pow.f64 x 8))
99.9%
(*.f64 1/360 (pow.f64 x 6))
99.8%
(*.f64 1/12 (pow.f64 x 4))
Compiler

Compiled 159 to 113 computations (28.9% saved)

series7.0ms (0.1%)

Counts
10 → 28
Calls

30 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
1.0ms
x
@0
(*.f64 1/12 (pow.f64 x 4))
1.0ms
x
@0
(*.f64 1/360 (pow.f64 x 6))
1.0ms
x
@0
(*.f64 1/20160 (pow.f64 x 8))
0.0ms
x
@inf
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))

rewrite46.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
246×associate-*r*
167×log1p-expm1-u
167×expm1-log1p-u
162×associate-*l*
157×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027160
1377160
26445160
Stop Event
unsound
Counts
10 → 250
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/20160 (pow.f64 x 8))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512

simplify87.0ms (1.3%)

Algorithm
egg-herbie
Rules
924×distribute-lft-out
898×distribute-rgt-out
824×unswap-sqr
806×fma-def
644×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
050935
196934
2189932
3508932
42147932
54705932
65523932
Stop Event
node limit
Counts
278 → 58
Calls
Call 1
Inputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 x 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(pow.f64 x 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
2
(+.f64 2 (pow.f64 x 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
Outputs
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 x 2)
(*.f64 1/12 (pow.f64 x 4))
(*.f64 1/12 (pow.f64 x 4))
(pow.f64 x 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/360 (pow.f64 x 6) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 1/360 (pow.f64 x 6)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/360 (pow.f64 x 6) (*.f64 1/12 (pow.f64 x 4)))
(fma.f64 1/12 (pow.f64 x 4) (*.f64 1/360 (pow.f64 x 6)))
(pow.f64 x 2)
(+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))
(fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2)))
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) (pow.f64 x 2)))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))))
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/20160 (pow.f64 x 8) (fma.f64 1/360 (pow.f64 x 6) (pow.f64 x 2))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/20160 (pow.f64 x 8) (pow.f64 x 2))))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) 2)
(+.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -2)
(+.f64 (exp.f64 (neg.f64 x)) (+.f64 (exp.f64 x) -2))
(+.f64 (exp.f64 x) (+.f64 (exp.f64 (neg.f64 x)) -2))
(-.f64 (exp.f64 (neg.f64 x)) (-.f64 2 (exp.f64 x)))
2
(+.f64 2 (pow.f64 x 2))
(fma.f64 x x 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2)))
(fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) 2))
(fma.f64 1/12 (pow.f64 x 4) (fma.f64 x x 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) 2)))
(fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) 2)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512
-8
-4
-2
-1
0
1/406425600
1/46656000
1/129600
1/20160
1/1728
1/360
1/144
1/12
1/2
1
3/2
2
3
4
6
8
12
16
64
512

eval29.0ms (0.4%)

Compiler

Compiled 1190 to 947 computations (20.4% saved)

prune23.0ms (0.3%)

Pruning

11 alts after pruning (6 fresh and 5 done)

PrunedKeptTotal
New88290
Fresh044
Picked044
Done011
Total881199
Accuracy
100.0%
Counts
99 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.9%
(pow.f64 x 2)
53.2%
(-.f64 (fma.f64 x x 2) 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
53.1%
(*.f64 1/360 (pow.f64 x 6))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
97.9%
(pow.f64 x 2)
53.2%
(-.f64 (fma.f64 x x 2) 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
53.1%
(*.f64 1/360 (pow.f64 x 6))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
Compiler

Compiled 162 to 132 computations (18.5% saved)

localize96.0ms (1.4%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
55.1%
(-.f64 (fma.f64 x x 2) 2)
99.9%
(*.f64 1/360 (pow.f64 x 6))
Compiler

Compiled 25 to 17 computations (32% saved)

series2.0ms (0%)

Counts
2 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 1/360 (pow.f64 x 6))
0.0ms
x
@-inf
(-.f64 (fma.f64 x x 2) 2)
0.0ms
x
@0
(-.f64 (fma.f64 x x 2) 2)
0.0ms
x
@inf
(-.f64 (fma.f64 x x 2) 2)
0.0ms
x
@0
(*.f64 1/360 (pow.f64 x 6))

rewrite80.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
800×unpow-prod-down
537×log1p-expm1-u
537×expm1-log1p-u
536×log-prod
502×add-exp-log
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01337
112932
2153531
Stop Event
node limit
Counts
2 → 80
Calls
Call 1
Inputs
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (fma.f64 x x 2) 2)
Outputs
(+.f64 0 (*.f64 1/360 (pow.f64 x 6)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 1/360 (pow.f64 x 6))) 1)
(pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 3)
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1/2)
(pow.f64 (*.f64 (pow.f64 x 18) 1/46656000) 1/3)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 1/360 (pow.f64 x 6))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))) (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(log.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))
(cbrt.f64 (*.f64 (pow.f64 x 18) 1/46656000))
(expm1.f64 (log1p.f64 (*.f64 1/360 (pow.f64 x 6))))
(exp.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 18) 1/46656000)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (fma.f64 x x 2) -2)
(+.f64 (fma.f64 x x 2) (log.f64 (exp.f64 -2)))
(+.f64 (pow.f64 x 2) 0)
(+.f64 -2 (fma.f64 x x 2))
(+.f64 0 (fma.f64 x x 0))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 0)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 0)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 0)))))
(*.f64 (fma.f64 x x 0) 1)
(*.f64 (fma.f64 x x 0) (log.f64 (E.f64)))
(*.f64 1 (fma.f64 x x 0))
(*.f64 (cbrt.f64 (fma.f64 x x 0)) (pow.f64 (cbrt.f64 (fma.f64 x x 0)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 0)) 2) (cbrt.f64 (fma.f64 x x 0)))
(*.f64 (sqrt.f64 (fma.f64 x x 0)) (sqrt.f64 (fma.f64 x x 0)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(*.f64 (pow.f64 1 1/3) (fma.f64 x x 0))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x 0))) 2) 3) (cbrt.f64 (fma.f64 x x 0)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x x 0))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x x 0))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 x x 0) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 x x 0) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 x x 0) (cbrt.f64 (fma.f64 x x 0))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 x x 0))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 x x 0) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 x x 0))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)) (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)))
(/.f64 1 (/.f64 (fma.f64 x x 4) (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (-.f64 4 (*.f64 (fma.f64 x x 2) -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)) (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)) (neg.f64 (fma.f64 x x 4)))
(pow.f64 (fma.f64 x x 0) 1)
(pow.f64 (cbrt.f64 (fma.f64 x x 0)) 3)
(pow.f64 (pow.f64 (fma.f64 x x 0) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x x 0) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x x 0)) 2)
(pow.f64 (E.f64) (log.f64 (fma.f64 x x 0)))
(pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)) (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)) -1)
(pow.f64 (/.f64 (fma.f64 x x 4) (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x x 0))) 2)) (cbrt.f64 (log.f64 (fma.f64 x x 0))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x x 0)))) (sqrt.f64 (log.f64 (fma.f64 x x 0))))
(sqrt.f64 (pow.f64 (fma.f64 x x 0) 2))
(log.f64 (exp.f64 (fma.f64 x x 0)))
(cbrt.f64 (pow.f64 (fma.f64 x x 0) 3))
(expm1.f64 (log1p.f64 (fma.f64 x x 0)))
(exp.f64 (log.f64 (fma.f64 x x 0)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x x 0))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x x 0))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x x 0))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x x 0)))
(fma.f64 x x 0)
(fma.f64 (fma.f64 x x 2) 1 -2)
(fma.f64 1 (fma.f64 x x 2) -2)
(fma.f64 1 (pow.f64 x 2) 0)
(fma.f64 (cbrt.f64 (fma.f64 x x 2)) (pow.f64 (cbrt.f64 (fma.f64 x x 2)) 2) -2)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 2)) 2) (cbrt.f64 (fma.f64 x x 2)) -2)
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (pow.f64 x 4)) 0)
(fma.f64 (sqrt.f64 (fma.f64 x x 2)) (sqrt.f64 (fma.f64 x x 2)) -2)
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) 0)
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (pow.f64 x 2)) 0)
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) 0)
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) 0)

simplify73.0ms (1.1%)

Algorithm
egg-herbie
Rules
1010×fma-def
952×unswap-sqr
866×log-prod
536×distribute-lft-in
500×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02152118
15131973
214171915
360291909
Stop Event
node limit
Counts
92 → 102
Calls
Call 1
Inputs
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(+.f64 0 (*.f64 1/360 (pow.f64 x 6)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(-.f64 (+.f64 1 (*.f64 1/360 (pow.f64 x 6))) 1)
(pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 3)
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1/2)
(pow.f64 (*.f64 (pow.f64 x 18) 1/46656000) 1/3)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 1/360 (pow.f64 x 6))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))) (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(log.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))
(cbrt.f64 (*.f64 (pow.f64 x 18) 1/46656000))
(expm1.f64 (log1p.f64 (*.f64 1/360 (pow.f64 x 6))))
(exp.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 18) 1/46656000)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360))) 2))
(log1p.f64 (expm1.f64 (*.f64 1/360 (pow.f64 x 6))))
(+.f64 (fma.f64 x x 2) -2)
(+.f64 (fma.f64 x x 2) (log.f64 (exp.f64 -2)))
(+.f64 (pow.f64 x 2) 0)
(+.f64 -2 (fma.f64 x x 2))
(+.f64 0 (fma.f64 x x 0))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 0)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 0)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 0)))))
(*.f64 (fma.f64 x x 0) 1)
(*.f64 (fma.f64 x x 0) (log.f64 (E.f64)))
(*.f64 1 (fma.f64 x x 0))
(*.f64 (cbrt.f64 (fma.f64 x x 0)) (pow.f64 (cbrt.f64 (fma.f64 x x 0)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 0)) 2) (cbrt.f64 (fma.f64 x x 0)))
(*.f64 (sqrt.f64 (fma.f64 x x 0)) (sqrt.f64 (fma.f64 x x 0)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(*.f64 (pow.f64 1 1/3) (fma.f64 x x 0))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x 0))) 2) 3) (cbrt.f64 (fma.f64 x x 0)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x x 0))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x x 0))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 x x 0) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 x x 0) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 x x 0) (cbrt.f64 (fma.f64 x x 0))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 x x 0))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 x x 0) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 x x 0))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)) (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)))
(/.f64 1 (/.f64 (fma.f64 x x 4) (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (-.f64 4 (*.f64 (fma.f64 x x 2) -2))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)) (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)) (neg.f64 (fma.f64 x x 4)))
(pow.f64 (fma.f64 x x 0) 1)
(pow.f64 (cbrt.f64 (fma.f64 x x 0)) 3)
(pow.f64 (pow.f64 (fma.f64 x x 0) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x x 0) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x x 0)) 2)
(pow.f64 (E.f64) (log.f64 (fma.f64 x x 0)))
(pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)) (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)) -1)
(pow.f64 (/.f64 (fma.f64 x x 4) (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x x 0))) 2)) (cbrt.f64 (log.f64 (fma.f64 x x 0))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x x 0)))) (sqrt.f64 (log.f64 (fma.f64 x x 0))))
(sqrt.f64 (pow.f64 (fma.f64 x x 0) 2))
(log.f64 (exp.f64 (fma.f64 x x 0)))
(cbrt.f64 (pow.f64 (fma.f64 x x 0) 3))
(expm1.f64 (log1p.f64 (fma.f64 x x 0)))
(exp.f64 (log.f64 (fma.f64 x x 0)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x x 0))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x x 0))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x x 0))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x x 0)))
(fma.f64 x x 0)
(fma.f64 (fma.f64 x x 2) 1 -2)
(fma.f64 1 (fma.f64 x x 2) -2)
(fma.f64 1 (pow.f64 x 2) 0)
(fma.f64 (cbrt.f64 (fma.f64 x x 2)) (pow.f64 (cbrt.f64 (fma.f64 x x 2)) 2) -2)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 2)) 2) (cbrt.f64 (fma.f64 x x 2)) -2)
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (pow.f64 x 4)) 0)
(fma.f64 (sqrt.f64 (fma.f64 x x 2)) (sqrt.f64 (fma.f64 x x 2)) -2)
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) 0)
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (pow.f64 x 2)) 0)
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) 0)
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) 0)
Outputs
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(+.f64 0 (*.f64 1/360 (pow.f64 x 6)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))))
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (+.f64 1 (*.f64 1/360 (pow.f64 x 6))) 1)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 1/360 (pow.f64 x 6)) 1)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 3)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1/2)
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(pow.f64 (*.f64 (pow.f64 x 18) 1/46656000) 1/3)
(cbrt.f64 (*.f64 (pow.f64 x 18) 1/46656000))
(cbrt.f64 (*.f64 1/46656000 (pow.f64 x 18)))
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 2)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (E.f64) (log.f64 (*.f64 1/360 (pow.f64 x 6))))
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 6 (log.f64 x) (log.f64 1/360))) 2)) (cbrt.f64 (fma.f64 6 (log.f64 x) (log.f64 1/360))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))) (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 6 (log.f64 x) (log.f64 1/360)))) (sqrt.f64 (fma.f64 6 (log.f64 x) (log.f64 1/360))))
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(log.f64 (pow.f64 (exp.f64 1/360) (pow.f64 x 6)))
(*.f64 1/360 (pow.f64 x 6))
(cbrt.f64 (*.f64 (pow.f64 x 18) 1/46656000))
(cbrt.f64 (*.f64 1/46656000 (pow.f64 x 18)))
(expm1.f64 (log1p.f64 (*.f64 1/360 (pow.f64 x 6))))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360))) 3))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 18) 1/46656000)) 1/3))
(cbrt.f64 (*.f64 (pow.f64 x 18) 1/46656000))
(cbrt.f64 (*.f64 1/46656000 (pow.f64 x 18)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360))) 2))
(*.f64 1/360 (pow.f64 x 6))
(log1p.f64 (expm1.f64 (*.f64 1/360 (pow.f64 x 6))))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (fma.f64 x x 2) -2)
(pow.f64 x 2)
(+.f64 (fma.f64 x x 2) (log.f64 (exp.f64 -2)))
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) 0)
(pow.f64 x 2)
(+.f64 -2 (fma.f64 x x 2))
(pow.f64 x 2)
(+.f64 0 (fma.f64 x x 0))
(pow.f64 x 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 0))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 0)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 0)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 0)))))
(pow.f64 x 2)
(*.f64 (fma.f64 x x 0) 1)
(pow.f64 x 2)
(*.f64 (fma.f64 x x 0) (log.f64 (E.f64)))
(pow.f64 x 2)
(*.f64 1 (fma.f64 x x 0))
(pow.f64 x 2)
(*.f64 (cbrt.f64 (fma.f64 x x 0)) (pow.f64 (cbrt.f64 (fma.f64 x x 0)) 2))
(pow.f64 x 2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 0)) 2) (cbrt.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(*.f64 (sqrt.f64 (fma.f64 x x 0)) (sqrt.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 4 (*.f64 (fma.f64 x x 2) (fma.f64 x x 4))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(*.f64 (pow.f64 1 1/3) (fma.f64 x x 0))
(pow.f64 x 2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x 0))) 2) 3) (cbrt.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x x 0))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x x 0))) 3))
(pow.f64 x 2)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 x x 0) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 x x 0) 3)) 1/3))
(pow.f64 x 2)
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 x x 0) (cbrt.f64 (fma.f64 x x 0))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 x x 0))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 2))) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 (pow.f64 x 2))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 2))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 x 2)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 x 2))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 2)) 8)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 x x 0) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 x x 0))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 5/2)) (cbrt.f64 (sqrt.f64 (pow.f64 x 2))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 5/2)) (cbrt.f64 (fabs.f64 x)))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2) 5/2)) (cbrt.f64 x))
(*.f64 (cbrt.f64 (pow.f64 x 5)) (cbrt.f64 x))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)) (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 4 (*.f64 (fma.f64 x x 2) (fma.f64 x x 4))))
(/.f64 1 (/.f64 (fma.f64 x x 4) (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 4 (*.f64 (fma.f64 x x 2) (fma.f64 x x 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (-.f64 4 (*.f64 (fma.f64 x x 2) -2))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 4 (*.f64 (fma.f64 x x 2) (fma.f64 x x 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)) (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 4 (*.f64 (fma.f64 x x 2) (fma.f64 x x 4))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)) (neg.f64 (fma.f64 x x 4)))
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(pow.f64 (fma.f64 x x 0) 1)
(pow.f64 x 2)
(pow.f64 (cbrt.f64 (fma.f64 x x 0)) 3)
(pow.f64 x 2)
(pow.f64 (pow.f64 (fma.f64 x x 0) 2) 1/2)
(pow.f64 x 2)
(pow.f64 (pow.f64 (fma.f64 x x 0) 3) 1/3)
(pow.f64 x 2)
(pow.f64 (sqrt.f64 (fma.f64 x x 0)) 2)
(pow.f64 x 2)
(pow.f64 (E.f64) (log.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)) (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8)) -1)
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 (pow.f64 (fma.f64 x x 2) 2) (fma.f64 2 (fma.f64 x x 2) 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 3) -8) (+.f64 4 (*.f64 (fma.f64 x x 2) (fma.f64 x x 4))))
(pow.f64 (/.f64 (fma.f64 x x 4) (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4)) -1)
(*.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (/.f64 1 (fma.f64 x x 4)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x x 2) 2) -4) (fma.f64 x x 4))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x x 0))) 2)) (cbrt.f64 (log.f64 (fma.f64 x x 0))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 x 2))) 2)) (cbrt.f64 (log.f64 (pow.f64 x 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 x))) 2)) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x x 0)))) (sqrt.f64 (log.f64 (fma.f64 x x 0))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 x 2)))) (sqrt.f64 (log.f64 (pow.f64 x 2))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(sqrt.f64 (pow.f64 (fma.f64 x x 0) 2))
(pow.f64 x 2)
(log.f64 (exp.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(cbrt.f64 (pow.f64 (fma.f64 x x 0) 3))
(pow.f64 x 2)
(expm1.f64 (log1p.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(exp.f64 (log.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x x 0))) 3))
(pow.f64 x 2)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x x 0))) 1/3))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x x 0))) 2))
(pow.f64 x 2)
(log1p.f64 (expm1.f64 (fma.f64 x x 0)))
(pow.f64 x 2)
(fma.f64 x x 0)
(pow.f64 x 2)
(fma.f64 (fma.f64 x x 2) 1 -2)
(pow.f64 x 2)
(fma.f64 1 (fma.f64 x x 2) -2)
(pow.f64 x 2)
(fma.f64 1 (pow.f64 x 2) 0)
(pow.f64 x 2)
(fma.f64 (cbrt.f64 (fma.f64 x x 2)) (pow.f64 (cbrt.f64 (fma.f64 x x 2)) 2) -2)
(pow.f64 x 2)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 2)) 2) (cbrt.f64 (fma.f64 x x 2)) -2)
(pow.f64 x 2)
(fma.f64 (cbrt.f64 (pow.f64 x 2)) (cbrt.f64 (pow.f64 x 4)) 0)
(pow.f64 x 2)
(fma.f64 (sqrt.f64 (fma.f64 x x 2)) (sqrt.f64 (fma.f64 x x 2)) -2)
(pow.f64 x 2)
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) 0)
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (pow.f64 x 2)) 0)
(pow.f64 x 2)
(fma.f64 (pow.f64 x 3/2) (sqrt.f64 x) 0)
(fma.f64 (sqrt.f64 x) (pow.f64 x 3/2) 0)
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(fma.f64 (pow.f64 (cbrt.f64 x) 5) (cbrt.f64 x) 0)
(pow.f64 x 2)

eval36.0ms (0.5%)

Compiler

Compiled 1133 to 869 computations (23.3% saved)

prune20.0ms (0.3%)

Pruning

13 alts after pruning (6 fresh and 7 done)

PrunedKeptTotal
New1002102
Fresh044
Picked022
Done055
Total10013113
Accuracy
100.0%
Counts
113 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.9%
(pow.f64 x 2)
53.2%
(-.f64 (fma.f64 x x 2) 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
97.7%
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
53.1%
(*.f64 1/360 (pow.f64 x 6))
53.0%
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
97.9%
(pow.f64 x 2)
53.2%
(-.f64 (fma.f64 x x 2) 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
97.7%
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
53.1%
(*.f64 1/360 (pow.f64 x 6))
53.0%
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
Compiler

Compiled 190 to 154 computations (18.9% saved)

localize66.0ms (1%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
99.7%
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
99.9%
(*.f64 (pow.f64 x 12) 1/129600)
90.6%
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
Compiler

Compiled 32 to 22 computations (31.3% saved)

series4.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
1.0ms
x
@0
(*.f64 (pow.f64 x 12) 1/129600)
1.0ms
x
@0
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
0.0ms
x
@inf
(*.f64 (pow.f64 x 12) 1/129600)
0.0ms
x
@inf
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))

rewrite80.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
632×log-prod
608×prod-exp
497×log1p-expm1-u
497×expm1-log1p-u
472×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01559
116142
2166542
Stop Event
node limit
Counts
3 → 86
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 (pow.f64 x 12) 1/129600)
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
Outputs
(+.f64 0 (*.f64 (pow.f64 x 6) 1/360))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 6) 1/360)) 1)
(*.f64 (*.f64 (pow.f64 x 6) 1/360) 1)
(*.f64 (*.f64 (pow.f64 x 6) 1/360) (log.f64 (E.f64)))
(*.f64 1 (*.f64 (pow.f64 x 6) 1/360))
(*.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)))
(*.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)))
(*.f64 (pow.f64 x 6) 1/360)
(*.f64 1/360 (pow.f64 x 6))
(*.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)))
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1/2)
(pow.f64 (*.f64 (pow.f64 x 6) 1/360) 1)
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 3)
(pow.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) 3/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2) 1/3)
(pow.f64 (*.f64 (pow.f64 x 24) 1/16796160000) 1/4)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3) 1/6)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 x 6) 1/360)))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))))
(fabs.f64 (*.f64 (pow.f64 x 6) 1/360))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 6) 1/360)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 6) 1/360)))
(+.f64 0 (*.f64 (pow.f64 x 12) 1/129600))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 12) 1/129600)) 1)
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1)
(pow.f64 (*.f64 (pow.f64 x 6) 1/360) 2)
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 6)
(pow.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2) 2/3)
(pow.f64 (*.f64 (pow.f64 x 24) 1/16796160000) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3) 1/3)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 4)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))))
(sqrt.f64 (*.f64 (pow.f64 x 24) 1/16796160000))
(log.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 24) 1/16796160000)) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(+.f64 0 (pow.f64 x 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(-.f64 (+.f64 1 (pow.f64 x 2)) 1)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 12) 1/6)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 3/2) 4/3)
(pow.f64 (pow.f64 x 2) 1)
(pow.f64 (pow.f64 x 1/6) 12)
(pow.f64 (pow.f64 x 4) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 3)
(pow.f64 (cbrt.f64 x) 6)
(pow.f64 (pow.f64 x 3) 2/3)
(pow.f64 (pow.f64 x 6) 1/3)
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 x))) 2)) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(sqrt.f64 (pow.f64 x 4))
(log.f64 (exp.f64 (pow.f64 x 2)))
(cbrt.f64 (pow.f64 x 6))
(expm1.f64 (log1p.f64 (pow.f64 x 2)))
(exp.f64 (*.f64 2 (log.f64 x)))
(exp.f64 (*.f64 (log.f64 x) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 x) 2)) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 x) 6) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 6))
(log1p.f64 (expm1.f64 (pow.f64 x 2)))

simplify82.0ms (1.2%)

Algorithm
egg-herbie
Rules
1566×log-prod
1122×fma-def
776×distribute-lft-in
758×distribute-rgt-in
608×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02094294969564
14924294969401
213992169
360152169
Stop Event
node limit
Counts
122 → 103
Calls
Call 1
Inputs
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(+.f64 0 (*.f64 (pow.f64 x 6) 1/360))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 6) 1/360)) 1)
(*.f64 (*.f64 (pow.f64 x 6) 1/360) 1)
(*.f64 (*.f64 (pow.f64 x 6) 1/360) (log.f64 (E.f64)))
(*.f64 1 (*.f64 (pow.f64 x 6) 1/360))
(*.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)))
(*.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)))
(*.f64 (pow.f64 x 6) 1/360)
(*.f64 1/360 (pow.f64 x 6))
(*.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)))
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1/2)
(pow.f64 (*.f64 (pow.f64 x 6) 1/360) 1)
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 3)
(pow.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) 3/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2) 1/3)
(pow.f64 (*.f64 (pow.f64 x 24) 1/16796160000) 1/4)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3) 1/6)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 2)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 x 6) 1/360)))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))))
(fabs.f64 (*.f64 (pow.f64 x 6) 1/360))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 6) 1/360)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 6) 1/360)))
(+.f64 0 (*.f64 (pow.f64 x 12) 1/129600))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 12) 1/129600)) 1)
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1)
(pow.f64 (*.f64 (pow.f64 x 6) 1/360) 2)
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 6)
(pow.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2) 2/3)
(pow.f64 (*.f64 (pow.f64 x 24) 1/16796160000) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3) 1/3)
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 4)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))))
(sqrt.f64 (*.f64 (pow.f64 x 24) 1/16796160000))
(log.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 24) 1/16796160000)) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(+.f64 0 (pow.f64 x 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(-.f64 (+.f64 1 (pow.f64 x 2)) 1)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 12) 1/6)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 3/2) 4/3)
(pow.f64 (pow.f64 x 2) 1)
(pow.f64 (pow.f64 x 1/6) 12)
(pow.f64 (pow.f64 x 4) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 3)
(pow.f64 (cbrt.f64 x) 6)
(pow.f64 (pow.f64 x 3) 2/3)
(pow.f64 (pow.f64 x 6) 1/3)
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 x))) 2)) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(sqrt.f64 (pow.f64 x 4))
(log.f64 (exp.f64 (pow.f64 x 2)))
(cbrt.f64 (pow.f64 x 6))
(expm1.f64 (log1p.f64 (pow.f64 x 2)))
(exp.f64 (*.f64 2 (log.f64 x)))
(exp.f64 (*.f64 (log.f64 x) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 x) 2)) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 x) 6) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 6))
(log1p.f64 (expm1.f64 (pow.f64 x 2)))
Outputs
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 x 2)
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) -1)
(neg.f64 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) -1)
(neg.f64 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) -1)
(neg.f64 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 2))
(*.f64 (pow.f64 x 2) -1)
(neg.f64 (pow.f64 x 2))
(+.f64 0 (*.f64 (pow.f64 x 6) 1/360))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))))
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 6) 1/360)) 1)
(*.f64 1/360 (pow.f64 x 6))
(*.f64 (*.f64 (pow.f64 x 6) 1/360) 1)
(*.f64 1/360 (pow.f64 x 6))
(*.f64 (*.f64 (pow.f64 x 6) 1/360) (log.f64 (E.f64)))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1 (*.f64 (pow.f64 x 6) 1/360))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)))
(*.f64 (pow.f64 x 2) (*.f64 (cbrt.f64 1/360) (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600))))
(*.f64 (cbrt.f64 1/129600) (*.f64 (cbrt.f64 1/360) (pow.f64 x 6)))
(*.f64 (cbrt.f64 1/360) (*.f64 (pow.f64 x 6) (cbrt.f64 1/129600)))
(*.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)))
(*.f64 (pow.f64 x 2) (*.f64 (cbrt.f64 1/360) (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600))))
(*.f64 (cbrt.f64 1/129600) (*.f64 (cbrt.f64 1/360) (pow.f64 x 6)))
(*.f64 (cbrt.f64 1/360) (*.f64 (pow.f64 x 6) (cbrt.f64 1/129600)))
(*.f64 (pow.f64 x 6) 1/360)
(*.f64 1/360 (pow.f64 x 6))
(*.f64 1/360 (pow.f64 x 6))
(*.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)))
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1/2)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 6) 1/360) 1)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 3)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) 3/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2) 1/3)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 24) 1/16796160000) 1/4)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3) 1/6)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 2)
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 x 6) 1/360)))
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(*.f64 1/360 (pow.f64 x 6))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6))))) (sqrt.f64 (log.f64 (*.f64 1/360 (pow.f64 x 6)))))
(fabs.f64 (*.f64 (pow.f64 x 6) 1/360))
(*.f64 1/360 (pow.f64 x 6))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 6)) 1/360))
(*.f64 1/360 (pow.f64 x 6))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2))
(*.f64 1/360 (pow.f64 x 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 6) 1/360)))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360))) 3))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 1/3))
(*.f64 1/360 (pow.f64 x 6))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360))) 2))
(*.f64 1/360 (pow.f64 x 6))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 6) 1/360)))
(*.f64 1/360 (pow.f64 x 6))
(+.f64 0 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 1/129600 (pow.f64 x 12))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))))
(*.f64 1/129600 (pow.f64 x 12))
(-.f64 (+.f64 1 (*.f64 (pow.f64 x 12) 1/129600)) 1)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 1)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (*.f64 (pow.f64 x 6) 1/360) 2)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 1/360)) 6)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600)) 3)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3/2) 2/3)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (*.f64 (pow.f64 x 24) 1/16796160000) 1/2)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3) 1/3)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 1/360)) 4)
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(*.f64 1/129600 (pow.f64 x 12))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/129600 (pow.f64 x 12)))) 2)) (cbrt.f64 (log.f64 (*.f64 1/129600 (pow.f64 x 12)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/129600 (pow.f64 x 12))))) (sqrt.f64 (log.f64 (*.f64 1/129600 (pow.f64 x 12)))))
(sqrt.f64 (*.f64 (pow.f64 x 24) 1/16796160000))
(*.f64 1/129600 (pow.f64 x 12))
(log.f64 (pow.f64 (exp.f64 1/129600) (pow.f64 x 12)))
(*.f64 1/129600 (pow.f64 x 12))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 12) 1/129600) 3))
(*.f64 1/129600 (pow.f64 x 12))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(*.f64 1/129600 (pow.f64 x 12))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(*.f64 1/129600 (pow.f64 x 12))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 6) 1/360)) 2))
(*.f64 1/129600 (pow.f64 x 12))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 4) (cbrt.f64 1/129600))) 3))
(*.f64 1/129600 (pow.f64 x 12))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 24) 1/16796160000)) 1/2))
(*.f64 1/129600 (pow.f64 x 12))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 x 12) 1/129600))) 1/3))
(*.f64 1/129600 (pow.f64 x 12))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 12) 1/129600)))
(*.f64 1/129600 (pow.f64 x 12))
(+.f64 0 (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 2)))))
(-.f64 (+.f64 1 (pow.f64 x 2)) 1)
(pow.f64 x 2)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 12) 1/6)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 3/2) 4/3)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 x 3/2)) (cbrt.f64 (pow.f64 x 3/2))) (*.f64 (cbrt.f64 (pow.f64 x 3/2)) (cbrt.f64 (pow.f64 x 3/2))))
(pow.f64 (pow.f64 x 2) 1)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 1/6) 12)
(pow.f64 (pow.f64 x 4) 1/2)
(pow.f64 x 2)
(pow.f64 (pow.f64 (cbrt.f64 x) 2) 3)
(pow.f64 x 2)
(pow.f64 (cbrt.f64 x) 6)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 3) 2/3)
(pow.f64 x 2)
(pow.f64 (pow.f64 x 6) 1/3)
(pow.f64 x 2)
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(pow.f64 x 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 x))) 2)) (cbrt.f64 (*.f64 2 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 2 (log.f64 x)))) (sqrt.f64 (*.f64 2 (log.f64 x))))
(sqrt.f64 (pow.f64 x 4))
(pow.f64 x 2)
(log.f64 (exp.f64 (pow.f64 x 2)))
(pow.f64 x 2)
(cbrt.f64 (pow.f64 x 6))
(pow.f64 x 2)
(expm1.f64 (log1p.f64 (pow.f64 x 2)))
(pow.f64 x 2)
(exp.f64 (*.f64 2 (log.f64 x)))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 x) 2))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 x) 2)) 3))
(pow.f64 x 2)
(exp.f64 (*.f64 (*.f64 (log.f64 x) 6) 1/3))
(pow.f64 x 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 x)) 6))
(pow.f64 x 2)
(log1p.f64 (expm1.f64 (pow.f64 x 2)))
(pow.f64 x 2)

eval35.0ms (0.5%)

Compiler

Compiled 942 to 803 computations (14.8% saved)

prune20.0ms (0.3%)

Pruning

15 alts after pruning (7 fresh and 8 done)

PrunedKeptTotal
New1003103
Fresh044
Picked112
Done077
Total10115116
Accuracy
100.0%
Counts
116 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
93.2%
(pow.f64 (pow.f64 x 1/6) 12)
97.3%
(pow.f64 (sqrt.f64 x) 4)
93.7%
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
97.9%
(pow.f64 x 2)
53.2%
(-.f64 (fma.f64 x x 2) 2)
55.1%
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
98.6%
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
98.8%
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
53.1%
(*.f64 1/360 (pow.f64 x 6))
53.0%
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
4.3%
512
4.4%
1/2
4.4%
1/9
52.5%
0
Compiler

Compiled 204 to 160 computations (21.6% saved)

regimes15.0ms (0.2%)

Counts
16 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
(pow.f64 x 2)
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (fma.f64 x x 2) 2)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 1/6) 12)
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
Outputs
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
Calls

2 calls:

9.0ms
x
3.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
AccuracySegmentsBranch
98.8%1x
98.8%1(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 109 to 81 computations (25.7% saved)

regimes15.0ms (0.2%)

Counts
15 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
(pow.f64 x 2)
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (fma.f64 x x 2) 2)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 1/6) 12)
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
Outputs
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
Calls

2 calls:

9.0ms
x
3.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
AccuracySegmentsBranch
98.6%1x
98.6%1(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 88 to 64 computations (27.3% saved)

regimes22.0ms (0.3%)

Counts
14 → 2
Calls
Call 1
Inputs
0
1/9
1/2
512
(pow.f64 x 2)
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (fma.f64 x x 2) 2)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 1/6) 12)
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Outputs
(pow.f64 x 2)
(-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Calls

2 calls:

15.0ms
x
4.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
AccuracySegmentsBranch
99.8%2x
99.8%2(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 73 to 52 computations (28.8% saved)

regimes21.0ms (0.3%)

Counts
13 → 2
Calls
Call 1
Inputs
0
1/9
1/2
512
(pow.f64 x 2)
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (fma.f64 x x 2) 2)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 1/6) 12)
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Outputs
(pow.f64 x 2)
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Calls

2 calls:

15.0ms
x
4.0ms
(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Results
AccuracySegmentsBranch
99.8%2x
99.8%2(+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x)))
Compiler

Compiled 65 to 49 computations (24.6% saved)

regimes9.0ms (0.1%)

Counts
12 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
(pow.f64 x 2)
(*.f64 1/360 (pow.f64 x 6))
(-.f64 (fma.f64 x x 2) 2)
(pow.f64 (sqrt.f64 x) 4)
(pow.f64 (pow.f64 x 1/6) 12)
(sqrt.f64 (*.f64 (pow.f64 x 12) 1/129600))
(*.f64 (sqrt.f64 x) (pow.f64 x 3/2))
(pow.f64 (E.f64) (*.f64 2 (log.f64 x)))
Outputs
(pow.f64 x 2)
Calls

1 calls:

7.0ms
x
Results
AccuracySegmentsBranch
97.9%1x
Compiler

Compiled 48 to 36 computations (25% saved)

regimes5.0ms (0.1%)

Accuracy

Total -31.4b remaining (-103.5%)

Threshold costs -31.4b (-103.5%)

Counts
4 → 1
Calls
Call 1
Inputs
0
1/9
1/2
512
Outputs
0
Calls

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
52.5%1x
Compiler

Compiled 7 to 6 computations (14.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.1102230246251565e-15
0.00010186945512524748
Compiler

Compiled 13 to 10 computations (23.1% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.1102230246251565e-15
0.00010186945512524748
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038296
152296
258296
361296
462296
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(if (<=.f64 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))) 2535301200456459/1267650600228229401496703205376) (pow.f64 x 2) (-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2))
(if (<=.f64 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))) 2535301200456459/1267650600228229401496703205376) (pow.f64 x 2) (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(pow.f64 x 2)
0
Outputs
(+.f64 (*.f64 1/20160 (pow.f64 x 8)) (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(if (<=.f64 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))) 2535301200456459/1267650600228229401496703205376) (pow.f64 x 2) (-.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2))
(if (<=.f64 (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))) 2535301200456459/1267650600228229401496703205376) (pow.f64 x 2) (+.f64 (-.f64 (exp.f64 x) 2) (exp.f64 (neg.f64 x))))
(pow.f64 x 2)
0
Compiler

Compiled 90 to 66 computations (26.7% saved)

soundness76.0ms (1.1%)

Rules
1072×prod-diff
672×fma-def
645×log1p-expm1-u
645×expm1-log1p-u
504×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01262
115262
2219962
Stop Event
node limit

end0.0ms (0%)

preprocess89.0ms (1.3%)

Remove

(abs x)

Compiler

Compiled 436 to 296 computations (32.1% saved)

Profiling

Loading profile data...