Details

Time bar (total: 1.7s)

analyze3.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%0%50%0%3
33.3%12.5%25%0%0%62.5%0%4
60%18.7%12.5%0%0%68.7%0%5
77.8%21.9%6.2%0%0%71.8%0%6
88.2%23.4%3.1%0%0%73.4%0%7
93.9%24.2%1.6%0%0%74.2%0%8
96.9%24.6%0.8%0%0%74.6%0%9
98.4%24.8%0.4%0%0%74.8%0%10
99.2%24.9%0.2%0%0%74.9%0%11
99.6%24.9%0.1%0%0%74.9%0%12
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample902.0ms (52.4%)

Results
768.0ms8256×body256valid
1.0ms16×body256invalid
Bogosity

preprocess13.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11621
21921
32121
42621
53021
63521
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify128.0ms (7.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11621
21921
32121
42621
53021
63521
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))

eval1.0ms (0%)

Compiler

Compiled 15 to 13 computations (13.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Accurracy
100.0%
Counts
3 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Compiler

Compiled 8 to 7 computations (12.5% saved)

localize12.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(-.f64 (/.f64 1 x) 1)
Compiler

Compiled 24 to 19 computations (20.8% saved)

series1.0ms (0%)

Counts
1 → 3
Calls

3 calls:

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

rewrite121.0ms (7%)

Algorithm
batch-egg-rewrite
Rules
1228×pow1
1144×add-exp-log
1142×log1p-expm1-u
1142×expm1-log1p-u
1122×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
112913
2165113
Stop Event
node limit
Counts
1 → 31
Calls
Call 1
Inputs
(-.f64 (/.f64 1 x) 1)
Outputs
(+.f64 (/.f64 1 x) -1)
(+.f64 -1 (/.f64 1 x))
(*.f64 1 (+.f64 (/.f64 1 x) -1))
(*.f64 (+.f64 (/.f64 1 x) -1) 1)
(*.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2)) (cbrt.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1)) (sqrt.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (+.f64 (pow.f64 x -3) -1) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(*.f64 (+.f64 (pow.f64 x -2) -1) (/.f64 1 (+.f64 1 (/.f64 1 x))))
(*.f64 (+.f64 (pow.f64 x -1/2) 1) (-.f64 (pow.f64 x -1/2) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x))) (+.f64 (pow.f64 x -3) -1)))
(/.f64 1 (/.f64 (+.f64 1 (/.f64 1 x)) (+.f64 (pow.f64 x -2) -1)))
(/.f64 (+.f64 (pow.f64 x -3) -1) (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x))))
(/.f64 (+.f64 (pow.f64 x -3) -1) (+.f64 (pow.f64 x -2) (-.f64 1 (*.f64 (/.f64 1 x) -1))))
(/.f64 (+.f64 (pow.f64 x -2) -1) (+.f64 1 (/.f64 1 x)))
(/.f64 (+.f64 (pow.f64 x -2) -1) (-.f64 (/.f64 1 x) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 x -3) -1)) (neg.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x -2) -1)) (neg.f64 (+.f64 1 (/.f64 1 x))))
(pow.f64 (+.f64 (/.f64 1 x) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2))
(log.f64 (exp.f64 (+.f64 (/.f64 1 x) -1)))
(cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 3))
(expm1.f64 (neg.f64 (log.f64 x)))
(exp.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
(log1p.f64 (expm1.f64 (+.f64 (/.f64 1 x) -1)))
(fma.f64 1 (/.f64 1 x) -1)
(fma.f64 (cbrt.f64 (pow.f64 x -2)) (/.f64 1 (cbrt.f64 x)) -1)
(fma.f64 (pow.f64 x -1/2) (pow.f64 x -1/2) -1)

simplify49.0ms (2.9%)

Algorithm
egg-herbie
Rules
1592×fma-def
1090×associate-/r*
608×associate-*r*
552×associate-*l*
526×div-sub
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
079608
1174578
2553576
33433576
Stop Event
node limit
Counts
34 → 38
Calls
Call 1
Inputs
(/.f64 1 x)
-1
-1
(+.f64 (/.f64 1 x) -1)
(+.f64 -1 (/.f64 1 x))
(*.f64 1 (+.f64 (/.f64 1 x) -1))
(*.f64 (+.f64 (/.f64 1 x) -1) 1)
(*.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2)) (cbrt.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1)) (sqrt.f64 (+.f64 (/.f64 1 x) -1)))
(*.f64 (+.f64 (pow.f64 x -3) -1) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(*.f64 (+.f64 (pow.f64 x -2) -1) (/.f64 1 (+.f64 1 (/.f64 1 x))))
(*.f64 (+.f64 (pow.f64 x -1/2) 1) (-.f64 (pow.f64 x -1/2) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x))) (+.f64 (pow.f64 x -3) -1)))
(/.f64 1 (/.f64 (+.f64 1 (/.f64 1 x)) (+.f64 (pow.f64 x -2) -1)))
(/.f64 (+.f64 (pow.f64 x -3) -1) (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x))))
(/.f64 (+.f64 (pow.f64 x -3) -1) (+.f64 (pow.f64 x -2) (-.f64 1 (*.f64 (/.f64 1 x) -1))))
(/.f64 (+.f64 (pow.f64 x -2) -1) (+.f64 1 (/.f64 1 x)))
(/.f64 (+.f64 (pow.f64 x -2) -1) (-.f64 (/.f64 1 x) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 x -3) -1)) (neg.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x -2) -1)) (neg.f64 (+.f64 1 (/.f64 1 x))))
(pow.f64 (+.f64 (/.f64 1 x) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2))
(log.f64 (exp.f64 (+.f64 (/.f64 1 x) -1)))
(cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 3))
(expm1.f64 (neg.f64 (log.f64 x)))
(exp.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
(log1p.f64 (expm1.f64 (+.f64 (/.f64 1 x) -1)))
(fma.f64 1 (/.f64 1 x) -1)
(fma.f64 (cbrt.f64 (pow.f64 x -2)) (/.f64 1 (cbrt.f64 x)) -1)
(fma.f64 (pow.f64 x -1/2) (pow.f64 x -1/2) -1)
Outputs
(/.f64 1 x)
-1
-1
(+.f64 (/.f64 1 x) -1)
(+.f64 -1 (/.f64 1 x))
(+.f64 (/.f64 1 x) -1)
(*.f64 1 (+.f64 (/.f64 1 x) -1))
(+.f64 (/.f64 1 x) -1)
(*.f64 (+.f64 (/.f64 1 x) -1) 1)
(+.f64 (/.f64 1 x) -1)
(*.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) (cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2)))
(+.f64 (/.f64 1 x) -1)
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2)) (cbrt.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (/.f64 1 x) -1)
(*.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1)) (sqrt.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (/.f64 1 x) -1)
(*.f64 (+.f64 (pow.f64 x -3) -1) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(*.f64 (+.f64 -1 (pow.f64 x -3)) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (/.f64 1 x) (-.f64 -1 (pow.f64 x -2))))
(/.f64 (-.f64 1 (pow.f64 x -3)) (+.f64 -1 (-.f64 (/.f64 -1 x) (pow.f64 x -2))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (pow.f64 x -2) (+.f64 -1 (/.f64 -1 x))))
(*.f64 (+.f64 (pow.f64 x -2) -1) (/.f64 1 (+.f64 1 (/.f64 1 x))))
(+.f64 (/.f64 1 x) -1)
(*.f64 (+.f64 (pow.f64 x -1/2) 1) (-.f64 (pow.f64 x -1/2) 1))
(+.f64 (/.f64 1 x) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x))) (+.f64 (pow.f64 x -3) -1)))
(*.f64 (+.f64 -1 (pow.f64 x -3)) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (/.f64 1 x) (-.f64 -1 (pow.f64 x -2))))
(/.f64 (-.f64 1 (pow.f64 x -3)) (+.f64 -1 (-.f64 (/.f64 -1 x) (pow.f64 x -2))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (pow.f64 x -2) (+.f64 -1 (/.f64 -1 x))))
(/.f64 1 (/.f64 (+.f64 1 (/.f64 1 x)) (+.f64 (pow.f64 x -2) -1)))
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 (pow.f64 x -3) -1) (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x))))
(*.f64 (+.f64 -1 (pow.f64 x -3)) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (/.f64 1 x) (-.f64 -1 (pow.f64 x -2))))
(/.f64 (-.f64 1 (pow.f64 x -3)) (+.f64 -1 (-.f64 (/.f64 -1 x) (pow.f64 x -2))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (pow.f64 x -2) (+.f64 -1 (/.f64 -1 x))))
(/.f64 (+.f64 (pow.f64 x -3) -1) (+.f64 (pow.f64 x -2) (-.f64 1 (*.f64 (/.f64 1 x) -1))))
(*.f64 (+.f64 -1 (pow.f64 x -3)) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (/.f64 1 x) (-.f64 -1 (pow.f64 x -2))))
(/.f64 (-.f64 1 (pow.f64 x -3)) (+.f64 -1 (-.f64 (/.f64 -1 x) (pow.f64 x -2))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (pow.f64 x -2) (+.f64 -1 (/.f64 -1 x))))
(/.f64 (+.f64 (pow.f64 x -2) -1) (+.f64 1 (/.f64 1 x)))
(+.f64 (/.f64 1 x) -1)
(/.f64 (+.f64 (pow.f64 x -2) -1) (-.f64 (/.f64 1 x) -1))
(+.f64 (/.f64 1 x) -1)
(/.f64 (neg.f64 (+.f64 (pow.f64 x -3) -1)) (neg.f64 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(*.f64 (+.f64 -1 (pow.f64 x -3)) (/.f64 1 (+.f64 (pow.f64 x -2) (+.f64 1 (/.f64 1 x)))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (/.f64 1 x) (-.f64 -1 (pow.f64 x -2))))
(/.f64 (-.f64 1 (pow.f64 x -3)) (+.f64 -1 (-.f64 (/.f64 -1 x) (pow.f64 x -2))))
(/.f64 (+.f64 -1 (pow.f64 x -3)) (-.f64 (pow.f64 x -2) (+.f64 -1 (/.f64 -1 x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x -2) -1)) (neg.f64 (+.f64 1 (/.f64 1 x))))
(+.f64 (/.f64 1 x) -1)
(pow.f64 (+.f64 (/.f64 1 x) -1) 1)
(+.f64 (/.f64 1 x) -1)
(pow.f64 (cbrt.f64 (+.f64 (/.f64 1 x) -1)) 3)
(+.f64 (/.f64 1 x) -1)
(pow.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 3) 1/3)
(+.f64 (/.f64 1 x) -1)
(pow.f64 (sqrt.f64 (+.f64 (/.f64 1 x) -1)) 2)
(+.f64 (/.f64 1 x) -1)
(sqrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 2))
(+.f64 (/.f64 1 x) -1)
(log.f64 (exp.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (/.f64 1 x) -1)
(cbrt.f64 (pow.f64 (+.f64 (/.f64 1 x) -1) 3))
(+.f64 (/.f64 1 x) -1)
(expm1.f64 (neg.f64 (log.f64 x)))
(exp.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (/.f64 1 x) -1)
(log1p.f64 (expm1.f64 (+.f64 (/.f64 1 x) -1)))
(+.f64 (/.f64 1 x) -1)
(fma.f64 1 (/.f64 1 x) -1)
(+.f64 (/.f64 1 x) -1)
(fma.f64 (cbrt.f64 (pow.f64 x -2)) (/.f64 1 (cbrt.f64 x)) -1)
(+.f64 -1 (/.f64 (cbrt.f64 (pow.f64 x -2)) (cbrt.f64 x)))
(fma.f64 (pow.f64 x -1/2) (pow.f64 x -1/2) -1)
(+.f64 (/.f64 1 x) -1)

eval10.0ms (0.6%)

Compiler

Compiled 471 to 403 computations (14.4% saved)

prune6.0ms (0.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New36238
Fresh000
Picked011
Done000
Total36339
Accurracy
100.0%
Counts
39 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.7%
(neg.f64 (log.f64 (/.f64 1 x)))
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
0.0%
(neg.f64 (log.f64 -1))
Compiler

Compiled 18 to 16 computations (11.1% saved)

localize4.0ms (0.2%)

Compiler

Compiled 7 to 7 computations (0% saved)

localize8.0ms (0.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(log.f64 (/.f64 1 x))
Compiler

Compiled 15 to 11 computations (26.7% saved)

series103.0ms (6%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
47.0ms
x
@0
(log.f64 (/.f64 1 x))
42.0ms
x
@inf
(log.f64 (/.f64 1 x))
14.0ms
x
@-inf
(log.f64 (/.f64 1 x))

rewrite49.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
1148×pow1
1050×add-exp-log
1050×log1p-expm1-u
1050×expm1-log1p-u
1020×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11349
215049
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(log.f64 (/.f64 1 x))
Outputs
(+.f64 0 (neg.f64 (log.f64 x)))
(+.f64 (log.f64 (pow.f64 x -1/2)) (log.f64 (pow.f64 x -1/2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 x -2))) (log.f64 (/.f64 1 (cbrt.f64 x))))
(-.f64 0 (log.f64 x))
(-.f64 (log.f64 -1) (log.f64 (neg.f64 x)))
(-.f64 (+.f64 1 (neg.f64 (log.f64 x))) 1)
(*.f64 1 (neg.f64 (log.f64 x)))
(*.f64 (neg.f64 (log.f64 x)) 1)
(*.f64 (log.f64 x) -1)
(*.f64 (cbrt.f64 (neg.f64 (log.f64 x))) (cbrt.f64 (*.f64 (log.f64 x) (log.f64 x))))
(*.f64 (cbrt.f64 (*.f64 (log.f64 x) (log.f64 x))) (cbrt.f64 (neg.f64 (log.f64 x))))
(*.f64 (sqrt.f64 (neg.f64 (log.f64 x))) (sqrt.f64 (neg.f64 (log.f64 x))))
(*.f64 -1 (log.f64 x))
(/.f64 (-.f64 0 (pow.f64 (log.f64 x) 3)) (+.f64 0 (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 0 (log.f64 x)))))
(/.f64 (-.f64 0 (*.f64 (log.f64 x) (log.f64 x))) (log.f64 x))
(pow.f64 (neg.f64 (log.f64 x)) 1)
(pow.f64 (cbrt.f64 (neg.f64 (log.f64 x))) 3)
(pow.f64 (pow.f64 (neg.f64 (log.f64 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (neg.f64 (log.f64 x))) 2)
(neg.f64 (log.f64 x))
(sqrt.f64 (*.f64 (log.f64 x) (log.f64 x)))
(cbrt.f64 (pow.f64 (neg.f64 (log.f64 x)) 3))
(expm1.f64 (log1p.f64 (neg.f64 (log.f64 x))))
(exp.f64 (log.f64 (neg.f64 (log.f64 x))))
(log1p.f64 (expm1.f64 (neg.f64 (log.f64 x))))

simplify102.0ms (5.9%)

Algorithm
egg-herbie
Rules
822×log-prod
756×associate-+l+
680×associate-*r*
600×associate-*l*
580×fma-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067321
1154317
2531317
33915317
Stop Event
node limit
Counts
33 → 28
Calls
Call 1
Inputs
(*.f64 -1 (log.f64 x))
(*.f64 -1 (log.f64 x))
(*.f64 -1 (log.f64 x))
(*.f64 -1 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(+.f64 0 (neg.f64 (log.f64 x)))
(+.f64 (log.f64 (pow.f64 x -1/2)) (log.f64 (pow.f64 x -1/2)))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 x -2))) (log.f64 (/.f64 1 (cbrt.f64 x))))
(-.f64 0 (log.f64 x))
(-.f64 (log.f64 -1) (log.f64 (neg.f64 x)))
(-.f64 (+.f64 1 (neg.f64 (log.f64 x))) 1)
(*.f64 1 (neg.f64 (log.f64 x)))
(*.f64 (neg.f64 (log.f64 x)) 1)
(*.f64 (log.f64 x) -1)
(*.f64 (cbrt.f64 (neg.f64 (log.f64 x))) (cbrt.f64 (*.f64 (log.f64 x) (log.f64 x))))
(*.f64 (cbrt.f64 (*.f64 (log.f64 x) (log.f64 x))) (cbrt.f64 (neg.f64 (log.f64 x))))
(*.f64 (sqrt.f64 (neg.f64 (log.f64 x))) (sqrt.f64 (neg.f64 (log.f64 x))))
(*.f64 -1 (log.f64 x))
(/.f64 (-.f64 0 (pow.f64 (log.f64 x) 3)) (+.f64 0 (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 0 (log.f64 x)))))
(/.f64 (-.f64 0 (*.f64 (log.f64 x) (log.f64 x))) (log.f64 x))
(pow.f64 (neg.f64 (log.f64 x)) 1)
(pow.f64 (cbrt.f64 (neg.f64 (log.f64 x))) 3)
(pow.f64 (pow.f64 (neg.f64 (log.f64 x)) 3) 1/3)
(pow.f64 (sqrt.f64 (neg.f64 (log.f64 x))) 2)
(neg.f64 (log.f64 x))
(sqrt.f64 (*.f64 (log.f64 x) (log.f64 x)))
(cbrt.f64 (pow.f64 (neg.f64 (log.f64 x)) 3))
(expm1.f64 (log1p.f64 (neg.f64 (log.f64 x))))
(exp.f64 (log.f64 (neg.f64 (log.f64 x))))
(log1p.f64 (expm1.f64 (neg.f64 (log.f64 x))))
Outputs
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (/.f64 -1 x)) (log.f64 -1))
(neg.f64 (log.f64 x))
(+.f64 0 (neg.f64 (log.f64 x)))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (pow.f64 x -1/2)) (log.f64 (pow.f64 x -1/2)))
(neg.f64 (log.f64 x))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 x -2))) (log.f64 (/.f64 1 (cbrt.f64 x))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 x -2))) (neg.f64 (log.f64 (cbrt.f64 x))))
(-.f64 (log.f64 (cbrt.f64 (pow.f64 x -2))) (log.f64 (cbrt.f64 x)))
(-.f64 0 (log.f64 x))
(neg.f64 (log.f64 x))
(-.f64 (log.f64 -1) (log.f64 (neg.f64 x)))
(neg.f64 (log.f64 x))
(-.f64 (+.f64 1 (neg.f64 (log.f64 x))) 1)
(neg.f64 (log.f64 x))
(*.f64 1 (neg.f64 (log.f64 x)))
(neg.f64 (log.f64 x))
(*.f64 (neg.f64 (log.f64 x)) 1)
(neg.f64 (log.f64 x))
(*.f64 (log.f64 x) -1)
(neg.f64 (log.f64 x))
(*.f64 (cbrt.f64 (neg.f64 (log.f64 x))) (cbrt.f64 (*.f64 (log.f64 x) (log.f64 x))))
(neg.f64 (log.f64 x))
(*.f64 (cbrt.f64 (*.f64 (log.f64 x) (log.f64 x))) (cbrt.f64 (neg.f64 (log.f64 x))))
(neg.f64 (log.f64 x))
(*.f64 (sqrt.f64 (neg.f64 (log.f64 x))) (sqrt.f64 (neg.f64 (log.f64 x))))
(neg.f64 (log.f64 x))
(*.f64 -1 (log.f64 x))
(neg.f64 (log.f64 x))
(/.f64 (-.f64 0 (pow.f64 (log.f64 x) 3)) (+.f64 0 (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (*.f64 0 (log.f64 x)))))
(neg.f64 (log.f64 x))
(/.f64 (-.f64 0 (*.f64 (log.f64 x) (log.f64 x))) (log.f64 x))
(neg.f64 (log.f64 x))
(pow.f64 (neg.f64 (log.f64 x)) 1)
(neg.f64 (log.f64 x))
(pow.f64 (cbrt.f64 (neg.f64 (log.f64 x))) 3)
(neg.f64 (log.f64 x))
(pow.f64 (pow.f64 (neg.f64 (log.f64 x)) 3) 1/3)
(neg.f64 (log.f64 x))
(pow.f64 (sqrt.f64 (neg.f64 (log.f64 x))) 2)
(neg.f64 (log.f64 x))
(neg.f64 (log.f64 x))
(sqrt.f64 (*.f64 (log.f64 x) (log.f64 x)))
(neg.f64 (log.f64 x))
(cbrt.f64 (pow.f64 (neg.f64 (log.f64 x)) 3))
(neg.f64 (log.f64 x))
(expm1.f64 (log1p.f64 (neg.f64 (log.f64 x))))
(neg.f64 (log.f64 x))
(exp.f64 (log.f64 (neg.f64 (log.f64 x))))
(neg.f64 (log.f64 x))
(log1p.f64 (expm1.f64 (neg.f64 (log.f64 x))))
(neg.f64 (log.f64 x))

eval5.0ms (0.3%)

Compiler

Compiled 229 to 126 computations (45% saved)

prune4.0ms (0.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New27128
Fresh000
Picked101
Done022
Total28331
Accurracy
100.0%
Counts
31 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.7%
(neg.f64 (neg.f64 (log.f64 x)))
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
0.0%
(neg.f64 (log.f64 -1))
Compiler

Compiled 17 to 15 computations (11.8% saved)

localize5.0ms (0.3%)

Compiler

Compiled 11 to 4 computations (63.6% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Accurracy
100.0%
Counts
3 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.7%
(neg.f64 (neg.f64 (log.f64 x)))
100.0%
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
0.0%
(neg.f64 (log.f64 -1))
Compiler

Compiled 17 to 15 computations (11.8% saved)

regimes23.0ms (1.3%)

Counts
4 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (log.f64 (/.f64 1 x)))
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Calls

5 calls:

5.0ms
x
4.0ms
(log.f64 (-.f64 (/.f64 1 x) 1))
4.0ms
(-.f64 (/.f64 1 x) 1)
4.0ms
(/.f64 1 x)
4.0ms
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
100.0%1(log.f64 (-.f64 (/.f64 1 x) 1))
100.0%1(-.f64 (/.f64 1 x) 1)
100.0%1(/.f64 1 x)
Compiler

Compiled 47 to 39 computations (17% saved)

regimes8.0ms (0.5%)

Accuracy

Total -63.2b remaining (-7721.4%)

Threshold costs -63.2b (-7721.4%)

Counts
3 → 1
Calls
Call 1
Inputs
(neg.f64 (log.f64 -1))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (log.f64 (/.f64 1 x)))
Outputs
(neg.f64 (neg.f64 (log.f64 x)))
Calls

2 calls:

4.0ms
(/.f64 1 x)
3.0ms
x
Results
AccuracySegmentsBranch
98.7%1x
98.7%1(/.f64 1 x)
Compiler

Compiled 19 to 15 computations (21.1% saved)

simplify7.0ms (0.4%)

Algorithm
egg-herbie
Rules
34×unsub-neg
28×neg-mul-1
18×neg-sub0
16×sub-neg
14×+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01535
12735
24335
36435
47735
58835
610235
711535
Stop Event
done
saturated
Calls
Call 1
Inputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (neg.f64 (log.f64 x)))
(neg.f64 (log.f64 -1))
Outputs
(neg.f64 (log.f64 (-.f64 (/.f64 1 x) 1)))
(neg.f64 (log.f64 (+.f64 (/.f64 1 x) -1)))
(neg.f64 (neg.f64 (log.f64 x)))
(log.f64 x)
(neg.f64 (log.f64 -1))
Compiler

Compiled 15 to 13 computations (13.3% saved)

soundness97.0ms (5.6%)

Rules
822×log-prod
756×associate-+l+
680×associate-*r*
600×associate-*l*
580×fma-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067321
1154317
2531317
33915317
Stop Event
node limit

end59.0ms (3.4%)

Compiler

Compiled 42 to 36 computations (14.3% saved)

Profiling

Loading profile data...