Jmat.Real.lambertw, newton loop step

Time bar (total: 10.8s)

analyze84.0ms (0.8%)

Memory
-5.7MiB live, 31.7MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
62.5%62.4%37.5%0.1%0%0%0%6
62.5%62.4%37.5%0.1%0%0%0%7
68.8%68.7%31.2%0.1%0%0%0%8
68.8%68.7%31.2%0.1%0%0%0%9
71.9%71.8%28.1%0.1%0%0%0%10
71.9%71.8%28.1%0.1%0%0%0%11
73.4%73.4%26.5%0.1%0%0%0%12
Compiler

Compiled 37 to 19 computations (48.6% saved)

sample10.5s (97.9%)

Memory
49.8MiB live, 2 458.4MiB allocated
Samples
469.0ms6 379×73valid-sollya
416.0ms6 379×73valid-baseline
356.0ms6 379×73valid-rival
160.0ms589×584valid-baseline
144.0ms772×292valid-baseline
101.0ms772×292valid-rival
94.0ms589×584valid-sollya
84.0ms589×584valid-rival
62.0ms772×292valid-sollya
62.0ms487×146valid-baseline
54.0ms487×146valid-rival
35.0ms487×146valid-sollya
2.0ms29×73valid-rival+baseline-inf
Precisions
Click to see Rival histograms. Total time spent on operations: 655.0ms
ival-exp: 180.0ms (27.5% of total)
ival-sub: 149.0ms (22.8% of total)
ival-mult: 114.0ms (17.4% of total)
ival-div: 96.0ms (14.7% of total)
ival-add: 69.0ms (10.5% of total)
adjust: 27.0ms (4.1% of total)
ival-true: 14.0ms (2.1% of total)
ival-assert: 6.0ms (0.9% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 695.0ms
ival-sub: 177.0ms (25.5% of total)
ival-exp: 173.0ms (24.9% of total)
ival-mult: 129.0ms (18.6% of total)
ival-div: 111.0ms (16% of total)
ival-add: 87.0ms (12.5% of total)
const: 17.0ms (2.4% of total)
Bogosity

preprocess98.0ms (0.9%)

Memory
-11.1MiB live, 21.0MiB allocated
Algorithm
egg-herbie
Rules
598×div-sub
435×times-frac
262×distribute-lft-neg-out
254×sub-neg
250×fma-define
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
033497
188477
2291433
31165366
44844350
Stop Event
node limit
Calls
Call 1
Inputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)))))))
(neg.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (+.f64 (exp.f64 x) (*.f64 x (exp.f64 x)))))
Outputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (-.f64 wj (/.f64 x (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj))))
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 x)) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (-.f64 wj (/.f64 x (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))))
(-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))))))
(-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (*.f64 (+.f64 (neg.f64 wj) #s(literal 1 binary64)) (exp.f64 (neg.f64 wj)))))
(-.f64 (neg.f64 wj) (/.f64 (fma.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)) (neg.f64 x)) (*.f64 (exp.f64 (neg.f64 wj)) (fma.f64 #s(literal -1 binary64) wj #s(literal 1 binary64)))))
(-.f64 (*.f64 (/.f64 (+.f64 x (/.f64 wj (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)) (exp.f64 wj)) wj)
(-.f64 (/.f64 (-.f64 wj (neg.f64 (*.f64 x (exp.f64 wj)))) (-.f64 #s(literal 1 binary64) wj)) wj)
(-.f64 (/.f64 (+.f64 wj (*.f64 x (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)) wj)
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 (neg.f64 x))) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj))))
(-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 wj (/.f64 (-.f64 wj (/.f64 (neg.f64 x) (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))))
(+.f64 wj (/.f64 (+.f64 wj (/.f64 x (exp.f64 wj))) (-.f64 #s(literal -1 binary64) wj)))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (+.f64 (exp.f64 (neg.f64 wj)) (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)))))))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (-.f64 (*.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj))) x) (*.f64 (+.f64 (neg.f64 wj) #s(literal 1 binary64)) (exp.f64 (neg.f64 wj))))))
(neg.f64 (-.f64 (neg.f64 wj) (/.f64 (fma.f64 (neg.f64 wj) (exp.f64 (neg.f64 wj)) (neg.f64 x)) (*.f64 (exp.f64 (neg.f64 wj)) (fma.f64 #s(literal -1 binary64) wj #s(literal 1 binary64))))))
(-.f64 wj (*.f64 (/.f64 (+.f64 x (/.f64 wj (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)) (exp.f64 wj)))
(+.f64 wj (/.f64 (-.f64 (neg.f64 wj) (*.f64 x (exp.f64 wj))) (-.f64 #s(literal 1 binary64) wj)))
(+.f64 wj (/.f64 (+.f64 wj (*.f64 x (exp.f64 wj))) (+.f64 wj #s(literal -1 binary64))))
(neg.f64 (-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) (neg.f64 x)) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj))))))
(neg.f64 (-.f64 wj (/.f64 (fma.f64 wj (exp.f64 wj) (neg.f64 (neg.f64 x))) (*.f64 (+.f64 wj #s(literal 1 binary64)) (exp.f64 wj)))))
(+.f64 (neg.f64 wj) (/.f64 (fma.f64 wj (exp.f64 wj) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))))
(-.f64 (/.f64 (fma.f64 wj (exp.f64 wj) x) (*.f64 (exp.f64 wj) (+.f64 wj #s(literal 1 binary64)))) wj)
(-.f64 (/.f64 (-.f64 wj (/.f64 (neg.f64 x) (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))) wj)
(-.f64 (/.f64 (+.f64 wj (/.f64 x (exp.f64 wj))) (+.f64 wj #s(literal 1 binary64))) wj)
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (+.f64 (exp.f64 x) (*.f64 x (exp.f64 x)))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (*.f64 (+.f64 x #s(literal 1 binary64)) (exp.f64 x))))
(-.f64 x (/.f64 (-.f64 (*.f64 x (exp.f64 x)) wj) (*.f64 (exp.f64 x) (+.f64 x #s(literal 1 binary64)))))
(-.f64 x (/.f64 (-.f64 x (/.f64 wj (exp.f64 x))) (+.f64 x #s(literal 1 binary64))))
(+.f64 x (/.f64 (-.f64 x (/.f64 wj (exp.f64 x))) (-.f64 #s(literal -1 binary64) x)))
Compiler

Compiled 18 to 8 computations (55.6% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.8%
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Compiler

Compiled 36 to 16 computations (55.6% saved)

simplify15.0ms (0.1%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
egg-herbie
Rules
128×unsub-neg
64×neg-mul-1
36×distribute-neg-out
31×distribute-lft-neg-in
23×remove-double-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01470
12070
23270
34770
47770
510570
612370
718070
832670
943570
1044070
1144770
1245270
1345970
1446370
1546470
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
Outputs
(-.f64 wj (/.f64 (-.f64 (*.f64 wj (exp.f64 wj)) x) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))
(+.f64 wj (/.f64 (-.f64 x (*.f64 wj (exp.f64 wj))) (+.f64 (exp.f64 wj) (*.f64 wj (exp.f64 wj)))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 18 to 8 computations (55.6% saved)

preprocess27.0ms (0.2%)

Memory
6.0MiB live, 37.0MiB allocated
Compiler

Compiled 110 to 54 computations (50.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...