Hyperbolic secant

Time bar (total: 2.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 10 to 8 computations (20% saved)

sample869.0ms (36.6%)

Results
858.0ms8256×body256valid
Bogosity

preprocess221.0ms (9.3%)

Algorithm
egg-herbie
Rules
1900×fma-def
826×fabs-mul
628×swap-sqr
598×*-commutative
430×fabs-div
FPErrors
Click to see full error table
truthopredexupredexsubexpr
2560-0-#f
00-0-x
00-0-(neg.f64 x)
00-0-(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
00-0-(exp.f64 (neg.f64 x))
00-0-2
00-0-(exp.f64 x)
00-0-(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017124
133124
256124
389124
4163124
5328124
6847124
72438124
83664124
94768124
106711124
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(neg.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(neg.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
(/.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Symmetry

(abs x)

Compiler

Compiled 59 to 25 computations (57.6% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

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

Compiled 18 to 14 computations (22.2% saved)

localize28.0ms (1.2%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 25 to 9 computations (64% saved)

series2.0ms (0.1%)

Counts
2 → 16
Calls

6 calls:

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

rewrite75.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
94×associate-*r*
63×add-exp-log
63×add-log-exp
63×log1p-expm1-u
63×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
114440
2233040
Stop Event
unsound
Counts
2 → 20
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
-4
-2
-1
0
1/2
1
3/2
2
3
4
-4
-2
-1
0
1/2
1
3/2
2
3
4

simplify77.0ms (3.3%)

Algorithm
egg-herbie
Rules
1626×distribute-lft-out
788×fma-def
710×fma-neg
636×*-commutative
578×associate-/l/
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046462
193457
2198451
3539447
42015447
53737447
65214447
77871447
Stop Event
node limit
Counts
36 → 39
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 5/24 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -61/720 (pow.f64 x 6)) (*.f64 5/24 (pow.f64 x 4)))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
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)))
-4
-2
-1
0
1/2
1
3/2
2
3
4
-4
-2
-1
0
1/2
1
3/2
2
3
4
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(fma.f64 -1/2 (pow.f64 x 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 5/24 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 x 2) (*.f64 5/24 (pow.f64 x 4))))
(fma.f64 5/24 (pow.f64 x 4) (fma.f64 -1/2 (pow.f64 x 2) 1))
(fma.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2) 1)
(fma.f64 -1/2 (pow.f64 x 2) (fma.f64 5/24 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -61/720 (pow.f64 x 6)) (*.f64 5/24 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 x 2) (fma.f64 -61/720 (pow.f64 x 6) (*.f64 5/24 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 x 2) (fma.f64 5/24 (pow.f64 x 4) (*.f64 -61/720 (pow.f64 x 6)))))
(+.f64 (fma.f64 -1/2 (pow.f64 x 2) 1) (fma.f64 -61/720 (pow.f64 x 6) (*.f64 5/24 (pow.f64 x 4))))
(fma.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2) (fma.f64 -61/720 (pow.f64 x 6) 1))
(fma.f64 -1/2 (pow.f64 x 2) (fma.f64 -61/720 (pow.f64 x 6) (fma.f64 5/24 (pow.f64 x 4) 1)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.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)))
(+.f64 2 (fma.f64 (pow.f64 x 4) 1/12 (pow.f64 x 2)))
(fma.f64 x x (fma.f64 (pow.f64 x 4) 1/12 2))
(fma.f64 (pow.f64 x 4) 1/12 (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))))
(+.f64 2 (fma.f64 (pow.f64 x 6) 1/360 (fma.f64 (pow.f64 x 4) 1/12 (pow.f64 x 2))))
(fma.f64 (pow.f64 x 6) 1/360 (fma.f64 x x (fma.f64 (pow.f64 x 4) 1/12 2)))
(fma.f64 (pow.f64 x 6) 1/360 (fma.f64 (pow.f64 x 4) 1/12 (fma.f64 x x 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)))
-4
-2
-1
0
1/2
1
3/2
2
3
4
-4
-2
-1
0
1/2
1
3/2
2
3
4

eval25.0ms (1.1%)

Compiler

Compiled 377 to 301 computations (20.2% saved)

prune8.0ms (0.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New34539
Fresh000
Picked011
Done000
Total34640
Accuracy
100.0%
Counts
40 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.4%
(/.f64 2 (fma.f64 x x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
79.4%
(/.f64 2 (fma.f64 x x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
Compiler

Compiled 60 to 50 computations (16.7% saved)

localize101.0ms (4.3%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.4%
(/.f64 2 (fma.f64 x x 2))
Compiler

Compiled 33 to 24 computations (27.3% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(/.f64 2 (fma.f64 x x 2))
0.0ms
x
@-inf
(/.f64 2 (fma.f64 x x 2))
0.0ms
x
@0
(/.f64 2 (fma.f64 x x 2))

rewrite48.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1370×frac-times
396×unpow-prod-down
314×cbrt-prod
314×log1p-expm1-u
314×log-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
17421
286021
Stop Event
node limit
Counts
1 → 51
Calls
Call 1
Inputs
(/.f64 2 (fma.f64 x x 2))
Outputs
(+.f64 0 (/.f64 2 (fma.f64 x x 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(-.f64 (+.f64 1 (/.f64 2 (fma.f64 x x 2))) 1)
(*.f64 2 (/.f64 1 (fma.f64 x x 2)))
(*.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(*.f64 (/.f64 2 (fma.f64 x x 2)) (log.f64 (E.f64)))
(*.f64 1 (/.f64 2 (fma.f64 x x 2)))
(*.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) (sqrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 -2 (/.f64 1 (fma.f64 x x 2)))
(*.f64 (/.f64 1 (fma.f64 x x 2)) 2)
(*.f64 (/.f64 1 (fma.f64 x x 2)) (log.f64 (exp.f64 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 2 (pow.f64 (fma.f64 x x 2) 2))))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4) (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)))
(*.f64 (pow.f64 1 1/3) (/.f64 2 (fma.f64 x x 2)))
(*.f64 (pow.f64 (cbrt.f64 2) 3) (/.f64 1 (fma.f64 x x 2)))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 2) 1/3) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (pow.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2) 1/3) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (/.f64 1 (fma.f64 x x 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x 2) 1/2)) 2) -1) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 (exp.f64 (log.f64 2)) (/.f64 1 (fma.f64 x x 2)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 2)) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4))
(*.f64 (sqrt.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) 2)) (pow.f64 (fma.f64 x x 2) -1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 5)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(pow.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 1/2)
(pow.f64 (/.f64 8 (pow.f64 (fma.f64 x x 2) 3)) 1/3)
(pow.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) 2)
(pow.f64 (*.f64 (fma.f64 x x 2) 1/2) -1)
(pow.f64 (E.f64) (log.f64 (/.f64 2 (fma.f64 x x 2))))
(pow.f64 (/.f64 (*.f64 (fma.f64 x x 2) 1/2) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))) (sqrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))))
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4))
(fabs.f64 (/.f64 2 (fma.f64 x x 2)))
(log.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))
(cbrt.f64 (/.f64 8 (pow.f64 (fma.f64 x x 2) 3)))
(expm1.f64 (log1p.f64 (/.f64 2 (fma.f64 x x 2))))
(exp.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 2 (fma.f64 x x 2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 x x 2) 1/2)) -1))
(log1p.f64 (expm1.f64 (/.f64 2 (fma.f64 x x 2))))

simplify68.0ms (2.9%)

Algorithm
egg-herbie
Rules
898×associate-*r/
636×associate-*l/
610×associate-*r*
592×associate-*l*
582×associate-+l+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01792261
13982167
29702130
337112126
Stop Event
node limit
Counts
63 → 91
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 1/4 (pow.f64 x 4)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(+.f64 0 (/.f64 2 (fma.f64 x x 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(-.f64 (+.f64 1 (/.f64 2 (fma.f64 x x 2))) 1)
(*.f64 2 (/.f64 1 (fma.f64 x x 2)))
(*.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(*.f64 (/.f64 2 (fma.f64 x x 2)) (log.f64 (E.f64)))
(*.f64 1 (/.f64 2 (fma.f64 x x 2)))
(*.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) (sqrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 -2 (/.f64 1 (fma.f64 x x 2)))
(*.f64 (/.f64 1 (fma.f64 x x 2)) 2)
(*.f64 (/.f64 1 (fma.f64 x x 2)) (log.f64 (exp.f64 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 2 (pow.f64 (fma.f64 x x 2) 2))))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4) (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)))
(*.f64 (pow.f64 1 1/3) (/.f64 2 (fma.f64 x x 2)))
(*.f64 (pow.f64 (cbrt.f64 2) 3) (/.f64 1 (fma.f64 x x 2)))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 2) 1/3) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (pow.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2) 1/3) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (/.f64 1 (fma.f64 x x 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x 2) 1/2)) 2) -1) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 (exp.f64 (log.f64 2)) (/.f64 1 (fma.f64 x x 2)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 2)) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4))
(*.f64 (sqrt.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) 2)) (pow.f64 (fma.f64 x x 2) -1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 5)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(pow.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 1/2)
(pow.f64 (/.f64 8 (pow.f64 (fma.f64 x x 2) 3)) 1/3)
(pow.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) 2)
(pow.f64 (*.f64 (fma.f64 x x 2) 1/2) -1)
(pow.f64 (E.f64) (log.f64 (/.f64 2 (fma.f64 x x 2))))
(pow.f64 (/.f64 (*.f64 (fma.f64 x x 2) 1/2) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))) (sqrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))))
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4))
(fabs.f64 (/.f64 2 (fma.f64 x x 2)))
(log.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))
(cbrt.f64 (/.f64 8 (pow.f64 (fma.f64 x x 2) 3)))
(expm1.f64 (log1p.f64 (/.f64 2 (fma.f64 x x 2))))
(exp.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 2 (fma.f64 x x 2)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 x x 2) 1/2)) -1))
(log1p.f64 (expm1.f64 (/.f64 2 (fma.f64 x x 2))))
Outputs
1
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(fma.f64 -1/2 (pow.f64 x 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (*.f64 1/4 (pow.f64 x 4))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 x 2) (*.f64 1/4 (pow.f64 x 4))))
(fma.f64 -1/2 (pow.f64 x 2) (fma.f64 1/4 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 x 2)) (+.f64 (*.f64 -1/8 (pow.f64 x 6)) (*.f64 1/4 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 x 2) (fma.f64 -1/8 (pow.f64 x 6) (*.f64 1/4 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 x 2) (fma.f64 1/4 (pow.f64 x 4) (*.f64 -1/8 (pow.f64 x 6)))))
(+.f64 1 (fma.f64 1/4 (pow.f64 x 4) (fma.f64 -1/2 (pow.f64 x 2) (*.f64 -1/8 (pow.f64 x 6)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 4 (pow.f64 x 4)))
(+.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 -4 (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 8 (pow.f64 x 6)) (-.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 4 (pow.f64 x 4))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (-.f64 (/.f64 8 (pow.f64 x 6)) (/.f64 4 (pow.f64 x 4))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (+.f64 (/.f64 8 (pow.f64 x 6)) (/.f64 -4 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(-.f64 (+.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 8 (pow.f64 x 6))) (+.f64 (/.f64 4 (pow.f64 x 4)) (/.f64 16 (pow.f64 x 8))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (-.f64 (/.f64 8 (pow.f64 x 6)) (+.f64 (/.f64 4 (pow.f64 x 4)) (/.f64 16 (pow.f64 x 8)))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (+.f64 (/.f64 8 (pow.f64 x 6)) (+.f64 (/.f64 -4 (pow.f64 x 4)) (/.f64 -16 (pow.f64 x 8)))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (+.f64 (/.f64 8 (pow.f64 x 6)) (-.f64 (/.f64 -4 (pow.f64 x 4)) (/.f64 16 (pow.f64 x 8)))))
(/.f64 2 (pow.f64 x 2))
(-.f64 (*.f64 2 (/.f64 1 (pow.f64 x 2))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(-.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 4 (pow.f64 x 4)))
(+.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 -4 (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (*.f64 4 (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 8 (pow.f64 x 6)) (-.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 4 (pow.f64 x 4))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (-.f64 (/.f64 8 (pow.f64 x 6)) (/.f64 4 (pow.f64 x 4))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (+.f64 (/.f64 8 (pow.f64 x 6)) (/.f64 -4 (pow.f64 x 4))))
(-.f64 (+.f64 (*.f64 8 (/.f64 1 (pow.f64 x 6))) (*.f64 2 (/.f64 1 (pow.f64 x 2)))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 4))) (*.f64 16 (/.f64 1 (pow.f64 x 8)))))
(-.f64 (+.f64 (/.f64 2 (pow.f64 x 2)) (/.f64 8 (pow.f64 x 6))) (+.f64 (/.f64 4 (pow.f64 x 4)) (/.f64 16 (pow.f64 x 8))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (-.f64 (/.f64 8 (pow.f64 x 6)) (+.f64 (/.f64 4 (pow.f64 x 4)) (/.f64 16 (pow.f64 x 8)))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (+.f64 (/.f64 8 (pow.f64 x 6)) (+.f64 (/.f64 -4 (pow.f64 x 4)) (/.f64 -16 (pow.f64 x 8)))))
(+.f64 (/.f64 2 (pow.f64 x 2)) (+.f64 (/.f64 8 (pow.f64 x 6)) (-.f64 (/.f64 -4 (pow.f64 x 4)) (/.f64 16 (pow.f64 x 8)))))
(+.f64 0 (/.f64 2 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))))
(/.f64 2 (fma.f64 x x 2))
(-.f64 (+.f64 1 (/.f64 2 (fma.f64 x x 2))) 1)
(/.f64 2 (fma.f64 x x 2))
(*.f64 2 (/.f64 1 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(/.f64 2 (fma.f64 x x 2))
(*.f64 (/.f64 2 (fma.f64 x x 2)) (log.f64 (E.f64)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 1 (/.f64 2 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) (sqrt.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))
(*.f64 -2 (/.f64 1 (fma.f64 x x 2)))
(/.f64 -2 (fma.f64 x x 2))
(*.f64 (/.f64 1 (fma.f64 x x 2)) 2)
(/.f64 2 (fma.f64 x x 2))
(*.f64 (/.f64 1 (fma.f64 x x 2)) (log.f64 (exp.f64 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 2 (pow.f64 (fma.f64 x x 2) 2))))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4) (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/4))
(*.f64 (pow.f64 1 1/3) (/.f64 2 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (pow.f64 (cbrt.f64 2) 3) (/.f64 1 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 2) 1/3) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 8)) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(/.f64 (cbrt.f64 (*.f64 8 (pow.f64 (fma.f64 x x 2) -2))) (cbrt.f64 (fma.f64 x x 2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 4) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 8)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (pow.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2) 1/3) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (/.f64 1 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x 2) 1/2)) 2) -1) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x 2) 1/2)) 2)))
(/.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) 1/2 1)) 2))
(*.f64 (exp.f64 (log.f64 2)) (/.f64 1 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(*.f64 (cbrt.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 2)) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 8)) (/.f64 1 (cbrt.f64 (fma.f64 x x 2))))
(/.f64 (cbrt.f64 (*.f64 8 (pow.f64 (fma.f64 x x 2) -2))) (cbrt.f64 (fma.f64 x x 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 4) 2)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 8)) (cbrt.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 5/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4) (sqrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/2)))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/4) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3/4))
(*.f64 (sqrt.f64 (*.f64 (/.f64 2 (fma.f64 x x 2)) 2)) (pow.f64 (fma.f64 x x 2) -1/2))
(*.f64 (sqrt.f64 (/.f64 4 (fma.f64 x x 2))) (pow.f64 (fma.f64 x x 2) -1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 5)) (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 5)))
(*.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 1/6) (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 5/2))
(pow.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 3)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4) 1/2)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (/.f64 8 (pow.f64 (fma.f64 x x 2) 3)) 1/3)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) 2)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (*.f64 (fma.f64 x x 2) 1/2) -1)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (E.f64) (log.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (/.f64 (*.f64 (fma.f64 x x 2) 1/2) 1) -1)
(/.f64 2 (fma.f64 x x 2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))) 2)) (cbrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log1p.f64 (*.f64 (pow.f64 x 2) 1/2)))) 2)) (cbrt.f64 (neg.f64 (log1p.f64 (*.f64 (pow.f64 x 2) 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))) (sqrt.f64 (log.f64 (/.f64 2 (fma.f64 x x 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log1p.f64 (*.f64 (pow.f64 x 2) 1/2))))) (sqrt.f64 (neg.f64 (log1p.f64 (*.f64 (pow.f64 x 2) 1/2)))))
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x 2) -2) 4))
(/.f64 2 (fma.f64 x x 2))
(fabs.f64 (/.f64 2 (fma.f64 x x 2)))
(/.f64 2 (fma.f64 x x 2))
(log.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))
(cbrt.f64 (/.f64 8 (pow.f64 (fma.f64 x x 2) 3)))
(/.f64 2 (fma.f64 x x 2))
(expm1.f64 (log1p.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))
(exp.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2)))) 3))
(/.f64 2 (fma.f64 x x 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 2 (fma.f64 x x 2)))) 1/3))
(/.f64 2 (fma.f64 x x 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2)))) 2))
(/.f64 2 (fma.f64 x x 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 x x 2) 1/2)) -1))
(/.f64 2 (fma.f64 x x 2))
(log1p.f64 (expm1.f64 (/.f64 2 (fma.f64 x x 2))))
(/.f64 2 (fma.f64 x x 2))

eval45.0ms (1.9%)

Compiler

Compiled 1280 to 1023 computations (20.1% saved)

prune66.0ms (2.8%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New90191
Fresh033
Picked022
Done011
Total90797
Accuracy
100.0%
Counts
97 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.4%
(/.f64 2 (fma.f64 x x 2))
28.0%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
79.4%
(/.f64 2 (fma.f64 x x 2))
28.0%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
Compiler

Compiled 72 to 60 computations (16.7% saved)

localize23.0ms (1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.3%
(/.f64 2 (pow.f64 x 2))
Compiler

Compiled 12 to 9 computations (25% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 2 (pow.f64 x 2))
0.0ms
x
@inf
(/.f64 2 (pow.f64 x 2))
0.0ms
x
@-inf
(/.f64 2 (pow.f64 x 2))

rewrite46.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1322×frac-times
406×unpow-prod-down
300×log-prod
298×cbrt-prod
278×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
17516
284316
Stop Event
node limit
Counts
1 → 51
Calls
Call 1
Inputs
(/.f64 2 (pow.f64 x 2))
Outputs
(+.f64 0 (*.f64 2 (pow.f64 x -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(-.f64 (+.f64 1 (*.f64 2 (pow.f64 x -2))) 1)
(*.f64 2 (pow.f64 x -2))
(*.f64 (*.f64 2 (pow.f64 x -2)) 1)
(*.f64 (*.f64 2 (pow.f64 x -2)) (log.f64 (E.f64)))
(*.f64 1 (*.f64 2 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))
(*.f64 (cbrt.f64 (/.f64 4 (pow.f64 x 4))) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) x))
(*.f64 -2 (pow.f64 x -2))
(*.f64 (pow.f64 x -2) 2)
(*.f64 (pow.f64 x -2) (log.f64 (exp.f64 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 2 (pow.f64 x 4))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) x)) (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))))
(*.f64 (pow.f64 1 1/3) (*.f64 2 (pow.f64 x -2)))
(*.f64 (pow.f64 (cbrt.f64 2) 3) (pow.f64 x -2))
(*.f64 (pow.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) 2) 1/3) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (pow.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4)))) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2) 1/3) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 x -2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) 4)) -1) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (exp.f64 (log.f64 2)) (pow.f64 x -2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) 2)) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))) (sqrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 (pow.f64 x -2)) 2)) (/.f64 1 x))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 5)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(pow.f64 (*.f64 2 (pow.f64 x -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 3)
(pow.f64 (/.f64 4 (pow.f64 x 4)) 1/2)
(pow.f64 (/.f64 8 (pow.f64 x 6)) 1/3)
(pow.f64 (/.f64 (sqrt.f64 2) x) 2)
(pow.f64 (*.f64 (pow.f64 x 2) 1/2) -1)
(pow.f64 (E.f64) (log.f64 (*.f64 2 (pow.f64 x -2))))
(pow.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/2) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))) (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))))
(sqrt.f64 (/.f64 4 (pow.f64 x 4)))
(fabs.f64 (*.f64 2 (pow.f64 x -2)))
(log.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))
(cbrt.f64 (/.f64 8 (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 2 (pow.f64 x -2))))
(exp.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 8 (pow.f64 x 6))) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) x)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) 1/2)) -1))
(log1p.f64 (expm1.f64 (*.f64 2 (pow.f64 x -2))))

simplify64.0ms (2.7%)

Algorithm
egg-herbie
Rules
1116×log-prod
990×times-frac
934×fma-def
672×associate-/l*
618×hypot-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01411409
12911376
26411366
318981366
475101366
Stop Event
node limit
Counts
51 → 59
Calls
Call 1
Inputs
(+.f64 0 (*.f64 2 (pow.f64 x -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(-.f64 (+.f64 1 (*.f64 2 (pow.f64 x -2))) 1)
(*.f64 2 (pow.f64 x -2))
(*.f64 (*.f64 2 (pow.f64 x -2)) 1)
(*.f64 (*.f64 2 (pow.f64 x -2)) (log.f64 (E.f64)))
(*.f64 1 (*.f64 2 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))
(*.f64 (cbrt.f64 (/.f64 4 (pow.f64 x 4))) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) x))
(*.f64 -2 (pow.f64 x -2))
(*.f64 (pow.f64 x -2) 2)
(*.f64 (pow.f64 x -2) (log.f64 (exp.f64 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 2 (pow.f64 x 4))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) x)) (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))))
(*.f64 (pow.f64 1 1/3) (*.f64 2 (pow.f64 x -2)))
(*.f64 (pow.f64 (cbrt.f64 2) 3) (pow.f64 x -2))
(*.f64 (pow.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) 2) 1/3) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (pow.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4)))) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2) 1/3) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 x -2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) 4)) -1) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (exp.f64 (log.f64 2)) (pow.f64 x -2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) 2)) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))) (sqrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 (pow.f64 x -2)) 2)) (/.f64 1 x))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 5)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(pow.f64 (*.f64 2 (pow.f64 x -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 3)
(pow.f64 (/.f64 4 (pow.f64 x 4)) 1/2)
(pow.f64 (/.f64 8 (pow.f64 x 6)) 1/3)
(pow.f64 (/.f64 (sqrt.f64 2) x) 2)
(pow.f64 (*.f64 (pow.f64 x 2) 1/2) -1)
(pow.f64 (E.f64) (log.f64 (*.f64 2 (pow.f64 x -2))))
(pow.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/2) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))) (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))))
(sqrt.f64 (/.f64 4 (pow.f64 x 4)))
(fabs.f64 (*.f64 2 (pow.f64 x -2)))
(log.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))
(cbrt.f64 (/.f64 8 (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 2 (pow.f64 x -2))))
(exp.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 8 (pow.f64 x 6))) 1/3))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) x)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) 1/2)) -1))
(log1p.f64 (expm1.f64 (*.f64 2 (pow.f64 x -2))))
Outputs
(+.f64 0 (*.f64 2 (pow.f64 x -2)))
(*.f64 2 (pow.f64 x -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))))
(*.f64 2 (pow.f64 x -2))
(-.f64 (+.f64 1 (*.f64 2 (pow.f64 x -2))) 1)
(*.f64 2 (pow.f64 x -2))
(*.f64 2 (pow.f64 x -2))
(*.f64 (*.f64 2 (pow.f64 x -2)) 1)
(*.f64 2 (pow.f64 x -2))
(*.f64 (*.f64 2 (pow.f64 x -2)) (log.f64 (E.f64)))
(*.f64 2 (pow.f64 x -2))
(*.f64 1 (*.f64 2 (pow.f64 x -2)))
(*.f64 2 (pow.f64 x -2))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))
(*.f64 (cbrt.f64 (/.f64 4 (pow.f64 x 4))) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))
(*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) x))
(*.f64 2 (pow.f64 x -2))
(*.f64 -2 (pow.f64 x -2))
(*.f64 (pow.f64 x -2) 2)
(*.f64 2 (pow.f64 x -2))
(*.f64 (pow.f64 x -2) (log.f64 (exp.f64 2)))
(*.f64 2 (pow.f64 x -2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 2 (pow.f64 x 4))))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) x)) (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))))
(*.f64 (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))) (sqrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 1 1/3) (*.f64 2 (pow.f64 x -2)))
(*.f64 2 (pow.f64 x -2))
(*.f64 (pow.f64 (cbrt.f64 2) 3) (pow.f64 x -2))
(*.f64 2 (pow.f64 x -2))
(*.f64 (pow.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) 2) 1/3) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (/.f64 8 (pow.f64 x 4))) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (pow.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4)))) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (pow.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2) 1/3) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 x -2))
(*.f64 2 (pow.f64 x -2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) 4)) -1) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (/.f64 1 (cbrt.f64 (/.f64 (pow.f64 x 4) 4))))
(/.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (cbrt.f64 (/.f64 (pow.f64 x 4) 4)))
(*.f64 (exp.f64 (log.f64 2)) (pow.f64 x -2))
(*.f64 2 (pow.f64 x -2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) 2)) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (/.f64 8 (pow.f64 x 4))) (cbrt.f64 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (*.f64 (/.f64 4 (pow.f64 x 4)) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))) (cbrt.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 5/2)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))) (sqrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (sqrt.f64 (/.f64 (sqrt.f64 2) x)) (sqrt.f64 (sqrt.f64 (/.f64 8 (pow.f64 x 6)))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 (pow.f64 x -2)) 2)) (/.f64 1 x))
(*.f64 2 (pow.f64 x -2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 5)) (cbrt.f64 (/.f64 (sqrt.f64 2) x)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) x)) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 5)))
(*.f64 (cbrt.f64 (/.f64 (sqrt.f64 2) x)) (pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 5/2))
(pow.f64 (*.f64 2 (pow.f64 x -2)) 1)
(*.f64 2 (pow.f64 x -2))
(pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 3)
(*.f64 2 (pow.f64 x -2))
(pow.f64 (/.f64 4 (pow.f64 x 4)) 1/2)
(sqrt.f64 (/.f64 4 (pow.f64 x 4)))
(pow.f64 (/.f64 8 (pow.f64 x 6)) 1/3)
(cbrt.f64 (/.f64 8 (pow.f64 x 6)))
(pow.f64 (/.f64 (sqrt.f64 2) x) 2)
(*.f64 2 (pow.f64 x -2))
(pow.f64 (*.f64 (pow.f64 x 2) 1/2) -1)
(*.f64 2 (pow.f64 x -2))
(pow.f64 (E.f64) (log.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 2 (pow.f64 x -2))
(pow.f64 (/.f64 (*.f64 (pow.f64 x 2) 1/2) 1) -1)
(*.f64 2 (pow.f64 x -2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))) 2)) (cbrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))) (sqrt.f64 (log.f64 (*.f64 2 (pow.f64 x -2)))))
(sqrt.f64 (/.f64 4 (pow.f64 x 4)))
(fabs.f64 (*.f64 2 (pow.f64 x -2)))
(*.f64 2 (pow.f64 x -2))
(log.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))
(*.f64 2 (pow.f64 x -2))
(cbrt.f64 (/.f64 8 (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 2 (pow.f64 x -2))
(exp.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 2 (pow.f64 x -2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2)))) 3))
(*.f64 2 (pow.f64 x -2))
(exp.f64 (*.f64 (log.f64 (/.f64 8 (pow.f64 x 6))) 1/3))
(cbrt.f64 (/.f64 8 (pow.f64 x 6)))
(exp.f64 (*.f64 (log.f64 (/.f64 (sqrt.f64 2) x)) 2))
(*.f64 2 (pow.f64 x -2))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) 1/2)) -1))
(*.f64 2 (pow.f64 x -2))
(log1p.f64 (expm1.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 2 (pow.f64 x -2))

eval18.0ms (0.7%)

Compiler

Compiled 622 to 536 computations (13.8% saved)

prune12.0ms (0.5%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New59059
Fresh033
Picked011
Done033
Total59766
Accuracy
100.0%
Counts
66 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.4%
(/.f64 2 (fma.f64 x x 2))
28.0%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
79.4%
(/.f64 2 (fma.f64 x x 2))
28.0%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
Compiler

Compiled 72 to 60 computations (16.7% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune5.0ms (0.2%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New000
Fresh033
Picked000
Done044
Total077
Accuracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.4%
(/.f64 2 (fma.f64 x x 2))
28.0%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
54.4%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
54.9%
1
11.5%
1/2
47.8%
0
Compiler

Compiled 66 to 54 computations (18.2% saved)

regimes13.0ms (0.5%)

Counts
7 → 1
Calls
Call 1
Inputs
0
1/2
1
(/.f64 2 (pow.f64 x 2))
(/.f64 2 (fma.f64 x x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Calls

3 calls:

5.0ms
x
2.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
2.0ms
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
100.0%1(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 48 to 37 computations (22.9% saved)

regimes11.0ms (0.4%)

Counts
6 → 2
Calls
Call 1
Inputs
0
1/2
1
(/.f64 2 (pow.f64 x 2))
(/.f64 2 (fma.f64 x x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
Outputs
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
0
Calls

1 calls:

8.0ms
x
Results
AccuracySegmentsBranch
99.6%2x
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes10.0ms (0.4%)

Counts
5 → 2
Calls
Call 1
Inputs
0
1/2
1
(/.f64 2 (pow.f64 x 2))
(/.f64 2 (fma.f64 x x 2))
Outputs
(/.f64 2 (fma.f64 x x 2))
0
Calls

1 calls:

8.0ms
x
Results
AccuracySegmentsBranch
99.6%2x
Compiler

Compiled 17 to 13 computations (23.5% saved)

regimes9.0ms (0.4%)

Counts
4 → 2
Calls
Call 1
Inputs
0
1/2
1
(/.f64 2 (pow.f64 x 2))
Outputs
1
0
Calls

1 calls:

8.0ms
x
Results
AccuracySegmentsBranch
99.5%2x
Compiler

Compiled 11 to 9 computations (18.2% saved)

regimes6.0ms (0.3%)

Counts
2 → 2
Calls
Call 1
Inputs
0
1/2
Outputs
1/2
0
Calls

1 calls:

6.0ms
x
Results
AccuracySegmentsBranch
56.2%2x
Compiler

Compiled 5 to 4 computations (20% saved)

regimes60.0ms (2.5%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
0
Outputs
0
Calls

1 calls:

59.0ms
x
Results
AccuracySegmentsBranch
47.8%1x
Compiler

Compiled 4 to 3 computations (25% saved)

bsearch18.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
18.0ms
1.0107900118252459e-5
181.99039768835306
Results
16.0ms144×body256valid
Compiler

Compiled 121 to 109 computations (9.9% saved)

bsearch52.0ms (2.2%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
52.0ms
181.99039768835306
70401964296036.75
Results
50.0ms160×body256valid
Compiler

Compiled 123 to 100 computations (18.7% saved)

bsearch44.0ms (1.8%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
44.0ms
181.99039768835306
70401964296036.75
Results
42.0ms160×body256valid
Compiler

Compiled 73 to 70 computations (4.1% saved)

bsearch72.0ms (3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
71.0ms
181.99039768835306
70401964296036.75
Results
70.0ms160×body256valid
Compiler

Compiled 73 to 70 computations (4.1% saved)

simplify5.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
1-exp
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035129
142129
244129
345129
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(if (<=.f64 x 6530219459687219/4503599627370496) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) 0)
(if (<=.f64 x 360) (/.f64 2 (fma.f64 x x 2)) 0)
(if (<=.f64 x 350) 1 0)
(if (<=.f64 x 350) 1/2 0)
0
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(if (<=.f64 x 6530219459687219/4503599627370496) (+.f64 1 (*.f64 -1/2 (pow.f64 x 2))) 0)
(if (<=.f64 x 360) (/.f64 2 (fma.f64 x x 2)) 0)
(if (<=.f64 x 350) 1 0)
(if (<=.f64 x 350) 1/2 0)
0
Compiler

Compiled 50 to 41 computations (18% saved)

soundness162.0ms (6.8%)

Rules
1626×distribute-lft-out
788×fma-def
710×fma-neg
636×*-commutative
578×associate-/l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
114440
2233040
01240
114440
2233040
046462
193457
2198451
3539447
42015447
53737447
65214447
77871447
Stop Event
node limit
unsound
unsound
Compiler

Compiled 28 to 22 computations (21.4% saved)

end0.0ms (0%)

preprocess110.0ms (4.6%)

Remove

(abs x)

Compiler

Compiled 126 to 100 computations (20.6% saved)

Profiling

Loading profile data...